Commit Graph

1789 Commits

Author SHA1 Message Date
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
jared cotton
cfa7e8ffaa SOL-4816 - "Can tuple and array be the same type of VCell but with a different emergent type?"
SOL-4828 - "Split container types between being mutable and immutable"

- Changed VArray to be an immutable array and created VMutableArray
- Removed VTuple and replaced its usages with VArray. VArray will be updated to take an emergent type in its construction later to allow for defining whether it is an array or a tuple for casting purposes.
- Added `Aux Allocation` logic to GC/Barriers which marks but does not add to the MarkStack. This is used for allocating the VMutableArray's buffer of TWriteBarrier<VValue>'s.

#rb Kirill.Zorin
#rb Saam.Barati

[CL 29866547 by jared cotton in ue5-main branch]
2023-11-21 11:15:38 -05:00
joe kirchoff
72ba401964 UnrealBuildTool: Allow reordering remote executor priority
#jira UE-198630

[CL 29855342 by joe kirchoff in ue5-main branch]
2023-11-20 18:40:51 -05:00
joe kirchoff
cdd9a5989b UnrealBuildTool: Move common action properties for CreateRecursiveAction to be shared
#rnx

[CL 29853876 by joe kirchoff in ue5-main branch]
2023-11-20 17:55:29 -05:00
joe kirchoff
ef982a57f3 UnrealBuildTool: Also load BuildConfiguration from %ProgramData% & %LocalAppData%
[CL 29766107 by joe kirchoff in ue5-main branch]
2023-11-15 19:41:48 -05:00
josh adams
e94ead8457 - Replaced System.Environment.MachineName (and System.Net.Dns.GetHostName()) with Unreal.MachineName, since Environment.MachineName is capped at 15 characters, and not every machine name is that short. Uses System.Net.Dns.GetHostName() internally unless is throws an exception, then it falls back to Env.MachineName
#rb adam.kinge, joe.kirchoff

[CL 29712082 by josh adams in ue5-main branch]
2023-11-14 09:40:24 -05:00
joe kirchoff
d5084c7083 UnrealBuildTool: Analysis warning
#rnx

[CL 29615474 by joe kirchoff in ue5-main branch]
2023-11-09 18:46:17 -05:00
grant medine
6689fc1065 [Backout] - CL29577197
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Move common action properties for CreateRecursiveAction to be shared

#rnx

[CL 29600550 by grant medine in ue5-main branch]
2023-11-09 12:21:13 -05:00
joe kirchoff
cdbaccc808 UnrealBuildTool: Move common action properties for CreateRecursiveAction to be shared
#rnx

[CL 29577504 by joe kirchoff in ue5-main branch]
2023-11-08 17:51:38 -05:00
joe kirchoff
73a6de9a05 UnrealBuildTool: Box -> UBA. Command line args are doubled up until all usage can be updated
#rnx

[CL 29570778 by joe kirchoff in ue5-main branch]
2023-11-08 14:48:41 -05:00
russell johnston
8705b81296 Class object initialization, self, and inheritance
Represent class initialization logic with a new `VConstructor` type, holding a sequence of interleaved fields and blocks. At class construction time, flatten these sequences such that class bodies run in order, and subclasses run before superclasses. At object construction time, extract a sequence of `VProcedure`s representing the non-overridden field initializers and blocks to invoke.

Give these initializers and blocks (as well as member functions) access to their `Self` object via a `ParentScope` capture in `VFunction`, copied to register 0 at call time. Rather than close over `Self` at object construction time, do it at field load time, so these members can be shared between all instances of a class as `VProcedures`, either in the `VConstructor` or `VShape`. In the future, the `ParentScope` field for non-member functions may instead point to an environment.

#rb saam.barati, yiliang.siew

[CL 29530839 by russell johnston in ue5-main branch]
2023-11-07 15:32:58 -05:00
jeremie roy
fc29edc069 Make ModuleManifest public to allow reading module manifest files in automation scripts
#rb joe.kirchoff

[CL 29495557 by jeremie roy in ue5-main branch]
2023-11-06 14:21:45 -05:00
bob tellez
2622494073 [Backout] - CL29418739, restoring 29416045
Original CL Desc
-----------------------------------------------------------------
New VerseScope "InternalUser" and renamed "User" to "PublicUser"

- new enumerator for VerseScope named "InternalUser"
- renamed existing VerseScope "User" to "PublicUser" - this is possible without breaking existing projects since the VerseScope is not written out to the uplugin file when it is set to "User"

#rb andrew.scheidecker
#rnx

[CL 29419291 by bob tellez in ue5-main branch]
2023-11-03 16:08:07 -04:00
bob tellez
08cd9760a6 [Backout] - CL29416045
[FYI] Markus.Breyer
Original CL Desc
-----------------------------------------------------------------
New VerseScope "InternalUser" and renamed "User" to "PublicUser"

- new enumerator for VerseScope named "InternalUser"
- renamed existing VerseScope "User" to "PublicUser" - this is possible without breaking existing projects since the VerseScope is not written out to the uplugin file when it is set to "User"

#rb andrew.scheidecker
#rnx

[CL 29418991 by bob tellez in ue5-main branch]
2023-11-03 16:01:34 -04:00
markus breyer
7e623a0aeb New VerseScope "InternalUser" and renamed "User" to "PublicUser"
- new enumerator for VerseScope named "InternalUser"
- renamed existing VerseScope "User" to "PublicUser" - this is possible without breaking existing projects since the VerseScope is not written out to the uplugin file when it is set to "User"

#rb andrew.scheidecker
#rnx

[CL 29416324 by markus breyer in ue5-main branch]
2023-11-03 14:58:25 -04:00
joe kirchoff
2af1531909 Rename Box -> UBA
#rnx
#jira UE-198632

[CL 29328890 by joe kirchoff in ue5-main branch]
2023-11-01 15:35:29 -04:00
andrew scheidecker
91489e5c60 Add an optional Verse language version field to uplugins. There's currently only one valid version: 0.
#rb Markus.Breyer

[CL 29275425 by andrew scheidecker in ue5-main branch]
2023-10-31 10:57:17 -04:00
david harvey
916805a126 Adding a module groups attribute for module rules.
Expected usage:

```
[ModuleGroups("MyGroup"]
public class MyModule : ModuleRules {... }

public class MyOtherModule : ModuleRules
{
    ...
    PrivateDependencyModuleNames.AddRange( GetModulesInGroup("MyGroup") );
}
```

#rnx
#rb Josh.Adams

[CL 29270167 by david harvey in ue5-main branch]
2023-10-31 06:32:45 -04:00
dmytro ivanov
32d57e9b28 Don't bundle libUnreal.so in .apk for faster iteration
#jira UE-186383
#rb Chris.Babcock

[CL 28967167 by dmytro ivanov in ue5-main branch]
2023-10-20 11:24:28 -04:00
saam barati
c90af30f0b 8-byte align bytecode ops
#rb yiliang.siew

We're soon gonna be storing to VValue/pointer fields in the bytecode stream that the GC will scan and the mutator will write to. Let's 8-byte align so we don't see tearing.

[CL 28779525 by saam barati in ue5-main branch]
2023-10-13 19:27:38 -04:00
david harvey
55919f638d Adding generic structure parsers to ConfigHierarchy, allowing full struct hierarchies to be parsed from a single config key.
Supported types:
 - Basic primitives - string, int, float, bool etc.
 - Enums
 - Array, List, Dictionary
 - structs & classes
 - DirectoryReference & FileReference for FDirectoryPath & FFilePath

#rnx
#rb Josh.Adams

[CL 28713409 by david harvey in ue5-main branch]
2023-10-12 12:06:36 -04:00
joe kirchoff
b7ac77e70a UnrealBuildTool: Option to use the experimental executor for local-only compiles, if no other distribution method is used
#rnx

[CL 28688571 by joe kirchoff in ue5-main branch]
2023-10-11 18:41:35 -04:00