Commit Graph

17927 Commits

Author SHA1 Message Date
bryan sefcik
1ad98523c4 Added support to give actions in UBT "weight". "Weight" is an average measurement of how many cores and memory an action uses. Using one core with a normal amount of memory for an action would be a value of 1.
Why do this:
Currently when compiling a cpp file with MSVC, it compiles across multiple cores while clang does not. This means that while we support limiting the number of cores(using ProcessorCountMultiplier), MSVC will use more cores than we specify. It also means that MSVC will always be faster when compiling because clang does not support compiling a cpp over multiple cores. To get similiar results when compiling with clang, we set the weight of MSVC to 1.5 and the weight of clang to 1.0. We then set the ProcessorCountMultiplier to 1.5. This results in MSVC and clang taking roughly the same amount of CPU utilization and clang compiles to be much faster.

	                     Old Timing(secs)	Old CPU Utilization	New Timing	New CPU Utilization(secs)
PlatformA AncientGame	590.94	51	                               431.47	73
MSVC AncientGameEditor	1016.96	94	                             1026.08	95
Clang AncientGameEditor	1543.72	63	                               1270.4	84
PlatformB AncientGame	494	52	                               396.95	74

Old = without weight path
New = with weight path

#jira
#rb christopher.waters, joe.kirchoff
#preflight 6409026c8832f48a4dc72025

[CL 24567859 by bryan sefcik in ue5-main branch]
2023-03-08 17:08:22 -05:00
tim smith
c75a26e0fe Refactor C++ UHT first stage comment stripping to avoid a bug not found in C# UHT.
#rb self
#rnx
#preflight 6408e3508832f48a4dbc5a30

[CL 24567268 by tim smith in ue5-main branch]
2023-03-08 16:38:26 -05:00
Ben Marsh
cbf077c130 More AutomationTool structured logging changes.
#preflight 6408f4bcb0544ef0b4c2c5c6

[CL 24566694 by Ben Marsh in ue5-main branch]
2023-03-08 16:11:38 -05:00
Ben Marsh
b8fd4de4eb Horde: Allow overwriting read-only files when extracting files from temp storage.
#preflight none

[CL 24566635 by Ben Marsh in ue5-main branch]
2023-03-08 16:08:54 -05:00
Ben Marsh
e141cb6196 More UAT structured logging fixes.
#preflight 6408dee3b0544ef0b4bca696

[CL 24564590 by Ben Marsh in ue5-main branch]
2023-03-08 14:32:15 -05:00
brendan lienau
76fe0a3090 [Automation] Provides Gauntlet the ability to more robustly secure dev kit account logins for relevant platforms.
Implements the feature on ps5 and xbox
#rb ben.salem

[CL 24564471 by brendan lienau in ue5-main branch]
2023-03-08 14:25:48 -05:00
Andrew Scheidecker
02f9686b0f Fix ClangToolchain omitting global compiler options from the command line on platforms that don't use a shared response file.
#jira none
#rb Joe.Kirchoff
#preflight 6408d6096c1b9295b9bddca7

[CL 24564056 by Andrew Scheidecker in ue5-main branch]
2023-03-08 13:59:38 -05:00
Joe Kirchoff
13d207492d UnrealBuildTool: Persist name for -SingleFile compiles, unless there is a filename conflict
#preflight 6408cc576c1b9295b9b7412f

[CL 24563034 by Joe Kirchoff in ue5-main branch]
2023-03-08 13:15:26 -05:00
Ben Marsh
235eb77726 Change to structured logging in other AutomationTool projects.
#preflight 6408c4478c0039bbf750e861

[CL 24562553 by Ben Marsh in ue5-main branch]
2023-03-08 12:43:35 -05:00
Josh Engebretson
487351647a Horde: Don't show negative time when client and server don't agree, also fix warning
#jira none
#rnx
#preflight none
#skipci

[CL 24559732 by Josh Engebretson in ue5-main branch]
2023-03-08 10:12:49 -05:00
LouisPhilippe Seguin
ab421a29b4 UnrealVS
* Added "Generate Assembly" menu option that asks UBT to compile a single file and generate an assembly file.
* Upgraded UnrealVS.vsix to version 1.84.3

#jira none
#rb Joe.Pribele
#preflight

[CL 24559407 by LouisPhilippe Seguin in ue5-main branch]
2023-03-08 09:53:21 -05:00
carl bystrom
fca9a10453 Horde: Update Perforce trigger endpoint to be compatible with incoming HTTP calls
#preflight none

[CL 24558013 by carl bystrom in ue5-main branch]
2023-03-08 07:43:11 -05:00
andrean franc
9d65fac22a Move DNACalib from MetaHuman stream to Main
#rb violeta.vukobrat
#preflight 6407549aba12ba641691a362

[CL 24557082 by andrean franc in ue5-main branch]
2023-03-08 05:21:08 -05:00
Ben Marsh
0e5d960c8a Use relative paths in TargetInfo.json to make them portable between machines (eg. when including in a zip of PCBs).
#preflight 640804f02559570cc71dba41

[CL 24554724 by Ben Marsh in ue5-main branch]
2023-03-07 23:01:27 -05:00
Ben Marsh
50fa09b55b Horde: Update changelist metadata whenever a change-commit trigger callback is received from the Perforce server. Should allow fixing issues with Swarm/Robomerge changing commit author after submission.
* Modified route to include cluster name (api/v1/perforce/{cluster}/trigger/{type}).
* Refreshing a change just adds it back into the list of changes that need to be queried as part of the regular commit update. Existing changes are replaced.

#preflight none
#fyi Carl.Bystrom

[CL 24554485 by Ben Marsh in ue5-main branch]
2023-03-07 22:35:17 -05:00
Ben Marsh
b781f56bcb Missing files.
#preflight none

[CL 24554145 by Ben Marsh in ue5-main branch]
2023-03-07 21:56:30 -05:00
Ben Marsh
89d6613573 UAT: Refactor AutomationUtils and BuildGraph to use structured logging.
#preflight 6407c4c26e1dadfcdab25849

[CL 24553706 by Ben Marsh in ue5-main branch]
2023-03-07 21:23:47 -05:00
eric mcdaniel
391d5185c3 Turnkey: Turnkey and editor support for controlling auto software update modes on platform devices
- this change just adds support to Turnkey and the editor UI to expose this support for supported platforms
  - follow on changes will be required to support the feature on a given platform

- Turnkey now tracks the auto software update mode per device
  - unknown/enable/disable
    - will be unknown for devices which do not support auto software updates or platforms which have not yet implemented support
- new UAT platform method SetDeviceAutoSoftwareUpdateMode() must be implemented for supporting platforms
- new Turnkey command DeviceAutoSoftwareUpdates for changing auto software update state on a device
- edtior exposes this functionality under the device entries in the platforms menu
  - devices which support auto software updates will expose an "Enable auto software updates" check box item in their Sdk Info menu
    - toggling this checkbox changes the auto software update policy on the device

#rb David.Harvey, Wojciech.Krywult
#jira UE-160691
#preflight 64012d69d249add4a205fe9c, 64078e72aa0042333551c821

[CL 24552009 by eric mcdaniel in ue5-main branch]
2023-03-07 19:11:50 -05:00
devin doucette
7fcff95736 Added FParkingLot, FMutex, TUniqueLock, TDynamicUniqueLock
FParkingLot is a framework for building locks and other synchronization primitives, based on WTF::ParkingLot from WebKit.

FMutex is a one-byte mutex that is neither fair nor recursive, based on WTF::Lock from WebKit.

TUniqueLock and TDynamicUniqueLock are generic types to manage mutex locking, based on std::unique_lock.

#preflight 63fe76cbae54ee4ce9db2ca6
#rb Andriy.Tylychko, Phil.Pizlo

[CL 24552008 by devin doucette in ue5-main branch]
2023-03-07 19:11:45 -05:00
Joe Kirchoff
04b2b155bc UnrealBuildTool: Make CStandard enum consistent with CppStandard
#rnx
#preflight 6407c690c13b7130d276f1b8

[CL 24551440 by Joe Kirchoff in ue5-main branch]
2023-03-07 18:41:02 -05:00
Joe Kirchoff
90760d72b0 UnrealBuildTool: Fix output typo
#preflight skipped

[CL 24550420 by Joe Kirchoff in ue5-main branch]
2023-03-07 18:05:10 -05:00
Joe Kirchoff
a8ec97cd4b UnrealBuildTool: Add missing additional produced item for AssemblyFile
#preflight 6407baa8fb10f393c216bf98

[CL 24549460 by Joe Kirchoff in ue5-main branch]
2023-03-07 17:32:29 -05:00
Joe Kirchoff
d3deb6c1a9 Move AssemblyFile output to VCCompileAction. Support compiling assemblies and preprocessing files with SingleFile
#preflight 6407accc8c0039bbf7e303c7

[CL 24548286 by Joe Kirchoff in ue5-main branch]
2023-03-07 16:44:30 -05:00
jerome delattre
0cca92c6c9 Gauntlet - Use space instead of coma when parsing extra engine arguments
Follow up to 24507995

#preflight 6407638d5515f4f57b431116
#rb Ben.Salem

[CL 24546974 by jerome delattre in ue5-main branch]
2023-03-07 15:37:47 -05:00
Josh Adams
0842a7adb3 - Added Framework support in Modern Xcode projects - this will copy and code sign frameworks directly via Xcode, instead of UBT doing it
#rb zack.neyland
#preflight 64078e282559570cc7f40fe2

[CL 24545611 by Josh Adams in ue5-main branch]
2023-03-07 14:28:06 -05:00