Commit Graph

1810 Commits

Author SHA1 Message Date
rafa lecina
aa8a82d45a Do not ignore default value on setInFromProperty in UPL
[REVIEW] [at]Chris.Babcock
#rb Chris.Babcock

[CL 31263240 by rafa lecina in ue5-main branch]
2024-02-07 12:56:33 -05:00
bob tellez
1b52ec8938 [Backout] - CL31242703
[FYI] michael.wanderson
Original CL Desc
-----------------------------------------------------------------
Expose RuntimeDependencies to ToolChain ModifyBuildProducts and LinkFiles methods. This is required to properly bundle DLLs on some platforms.

#Jira UE-199874
#rb David.Harvey


#changelist validated
#virtualized

[CL 31249061 by bob tellez in ue5-main branch]
2024-02-07 01:15:42 -05:00
michael wanderson
8497503f5a Expose RuntimeDependencies to ToolChain ModifyBuildProducts and LinkFiles methods. This is required to properly bundle DLLs on some platforms.
#Jira UE-199874
#rb David.Harvey


#changelist validated
#virtualized

[CL 31243629 by michael wanderson in ue5-main branch]
2024-02-06 20:39:23 -05:00
joe kirchoff
e294f152e8 UnrealBuildTool: bTreatAsEngine module creates a pch variant, clean up some unneeded logic
#rnx
#rb christopher.waters, henrik.karlsson

[CL 31070432 by joe kirchoff in ue5-main branch]
2024-01-31 17:57:54 -05:00
russell johnston
32e3ad93e8 Coroutine suspend and resume
A new VTask object tracks a chain of the VFrames, from the point where the task was spawned to the point where it suspended. This task boundary is recorded by a pair of BeginTask/EndTask instructions. Individual <suspends> function calls in the new VM do not have distinct tasks, and <suspends> does not change how bytecode is generated.

Native functions may suspend the current task by returning a new FOpResult of kind Yield, at which point the current PC is saved to the VTask, its VFrames are detached from the stack, and execution continues in the parent task. Native code may resume a task with a new VTask::ResumeInTransaction API, which re-attaches these VFrames to the top of the stack and continues execution from the saved PC.

VNI functions continue to use the verse::continuation API, which now wraps a VTask pointer and thus must be accounted for during GC tracing.

#rb Markus.Breyer, saam.barati
#okforversepublic

[CL 30978163 by russell johnston in ue5-main branch]
2024-01-29 16:43:30 -05:00
chris varnsverry
39fd940fa5 - Fix minor typos
[CL 30920606 by chris varnsverry in ue5-main branch]
2024-01-26 08:22:07 -05:00
joe kirchoff
528058dd18 Fix a number of plugins that are missing some references / supported programs
#rnx

[CL 30850033 by joe kirchoff in ue5-main branch]
2024-01-24 12:23:50 -05:00
joe kirchoff
8557838a06 UnrealBuildTool: Fix incorrect comment for CppCompileEnvironment.bValidateInternalApi
#rnx

[CL 30812717 by joe kirchoff in ue5-main branch]
2024-01-23 14:11:52 -05:00
jared cotton
8654089a70 SOL-4559 - "Add Freeze/Melt"
- Added OpCodes melt/freeze which are how deep-copying of vars will be done. ie `VarSet(Melt(Value))` and `Freeze(VarGet(Var))`
   - melt suspends upon encountering a placeholder
   - freeze errors on encountering a placeholder. This may change depending on whether the Verse-Verifier decides to allow this or not.
- note: We use a VCell header bit to identify types which are deeply mutable and thus require melt/freeze operations (this may be moved into these types emergent types)

- Re-worked VMap classes so now majority of code lives inside VMapBase via templating

#rb saam.barati

[CL 30688090 by jared cotton in ue5-main branch]
2024-01-18 12:24:29 -05:00
will brown
e7f22140d6 Outputting the plugin filename with Json parse exceptions. Moved the JsonObject.Read call inside of the existing try block as the function throws JsonException when a parse error is detected
#rb Joe.Kirchoff

[CL 30639362 by will brown in ue5-main branch]
2024-01-16 14:08:18 -05:00
joe kirchoff
40c3fe7702 UnrealBuildTool: If a dependency file fails to be read, gracefully handle the error and rebuild the action
#rnx

[CL 30444296 by joe kirchoff in ue5-main branch]
2023-12-22 16:08:54 -05:00
joe kirchoff
d8297d6752 UnrealBuildTool: Cleanup XmlConfig
#rnx

[CL 30435245 by joe kirchoff in ue5-main branch]
2023-12-21 18:56:31 -05:00
joe kirchoff
2ccf3f04b3 UnrealBuildTool: TargetRules cleanup
* Change (most) fields to properties
* Naming rule fixes for local variables
* Remove unnecessary default values
* Move ReadOnlyTargetRules to new file
* Remove RequiresUniqueBuildEnvironment from obsolete properties
* Document formatting

#rnx

[CL 30415265 by joe kirchoff in ue5-main branch]
2023-12-20 12:39:13 -05:00
saam barati
48fe06e4f6 Make map adhere to ordering rules and implement ConcatenateMaps
#rb yiliang.siew

This patch:
- Makes map construction pick the right values in the right order when constructing a map with duplicate keys
- Makes map comparison ordered
- Implements ConcatenateMaps as an intrinsic function
- Makes enum hashable

[CL 30365816 by saam barati in ue5-main branch]
2023-12-15 19:30:26 -05:00
matt johnson
19a5270ad5 UBT: add "bVcRemoveUnreferencedComdat" ModuleRules property to control whether /Zc:inline is enabled with MSVC
#rb Joe.Kirchoff

[CL 30329213 by matt johnson in ue5-main branch]
2023-12-14 15:09:30 -05:00
joe kirchoff
e5618b4c2d EpicGames.Core: Don't throw a new Exception when a JsonException occurs when parsing
#rnx
#jira UE-196461

[CL 30310003 by joe kirchoff in ue5-main branch]
2023-12-13 19:01:45 -05:00
joe kirchoff
fbc3e63d8a UnrealBuildTool: Set UE_VALIDATE_INTERNAL_API to control the define UE_INTERNAL which will be set to an empty macro for Engine modules and [[deprecated]] for non-engine modules. This will create a pch variant but will allow a way to stop (or at least discourage) the use of internal code that needs to be in public headers for performance or historical reasons, as well as a way to migrate internal code out of public headers over the span of a few releases
#jira UE-201038
#rb David.Harvey, Devin.Doucette

[CL 30172737 by joe kirchoff in ue5-main branch]
2023-12-06 19:31:44 -05:00
leon huang
95acda43f6 Localization:
Introduced opt in localization for plugins. Plugins can be set to never have localization config files generated, auto-generated or have the localization pipeline use the user generated localization config files.
- All existing plugins with localization targets will be retrofitted to have a LocalizationConfigGenerationPolicy of Never to match current behavior.
- Introduced the LocalizationConfigGenerationPolicy enum to plugin descriptors and LocalizationTargetDescriptors. This controls whether plugin localization targets use user generated localization config files, auto-generated localization config files or if the plugin is never to have localization config files and thus not localized.
- Introduced a step in the Localize UAT command to auto-generate localization config files with default settings for plugins that opt into the auto-generation feature.
- Added a clean up step in the Localize uAT command to delete all auto-generated files and folders from a run of the command.
- Added a -PreserveAutoGeneratedResources flag for the Localize UAT command to preserve the auto-generated files and directories for debugging.
-Updated both the C# and C++ version of the LocalizationTargetDescriptor to contain the new LocalizationConfigGenerationPolicy and have them read and written from the plugin descriptor files.
- Updated the NewPluginLocalizationTarget command under the LocalizationTargetEditor UAT command to accept a LocalizationConfigGenerationPolicy as a command line argument for all plugin localization targets to be created.
If the parameter is not specified, the parameter defaults to the Auto LocalizationConfigGenerationPolicy for all the plugins specified.
#rb: Jamie.Dale
#jira: UE-194880, UE-194879
#test Used the NewPluginLocalizationTarget sub-command to create plugins with an auto localization target. Used the Localize UAT command to perform a gather for such a plugin. Config files were indeed generated, the plugin was gathered and the loc data stored in PluginName/Content/Localization and then the config files were deleted. No fuss, no muss

[CL 30172150 by leon huang in ue5-main branch]
2023-12-06 19:03:56 -05:00
josh adams
0ae7bb4007 [Backout] - CL30103804
[FYI] alex.kahn
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL30097541 - CIS Warning
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Added a new TargetBuildEnvronment - UniqueIfNeeded. This will use Shared if possible, but if a property that requires unique environment, of a project has overridden an SDK version, Unique will beused instead
#rb joe.kirchoff

[CL 30118373 by josh adams in ue5-main branch]
2023-12-05 10:00:51 -05:00
alex kahn
3a28b419ea [Backout] - CL30097541 - CIS Warning
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Added a new TargetBuildEnvronment - UniqueIfNeeded. This will use Shared if possible, but if a property that requires unique environment, of a project has overridden an SDK version, Unique will beused instead
#rb joe.kirchoff

[CL 30103827 by alex kahn in ue5-main branch]
2023-12-04 19:40:01 -05:00
josh adams
41853b01e6 - Added a new TargetBuildEnvronment - UniqueIfNeeded. This will use Shared if possible, but if a property that requires unique environment, of a project has overridden an SDK version, Unique will beused instead
#rb joe.kirchoff

[CL 30097554 by josh adams in ue5-main branch]
2023-12-04 17:25:57 -05:00
james singer
0a9e815a6b Implement GetPhysicalProcessorCount for Linux so that PGO builds can work properly
#jira UE-199766


#rb zack.neyland
#tests tested on WSL, Ubuntu 22.04 Threadripper and Ubuntu 22.04 Megastation

[CL 30047912 by james singer in ue5-main branch]
2023-12-01 14:00:49 -05:00
joe kirchoff
9affe69d97 UnrealBuildAccelerator: Experimental for 5.4
#jira UE-197967

[CL 30002804 by joe kirchoff in ue5-main branch]
2023-11-29 18:47:11 -05:00
jared cotton
e4644f0e4f SOL-4828 - "Split container types between being mutable and immutable"
Split VMap into mutable and immutable versions

(preflight failure looked spurious... ie timeout on cook worker. Ready to backout if this is a real issue somehow caused by my CL but thought this unlikely)

[CL 29994701 by jared cotton in ue5-main branch]
2023-11-29 14:05:35 -05:00
saam barati
2a7b1733fe Some followup after Jay's patch
#rb jared.cotton

[CL 29881551 by saam barati in ue5-main branch]
2023-11-21 20:58:34 -05:00