- saved profiles default to not having the build target specified as it wasn't originally serialized.
- using the same validation logic regardless of whether the project is specified or not to keep things simpler.
- editor & server do not need an explicit build target when there's multiple target.cs files because the default can be specified in the engine ini.
#jira UE-169814
#rb Ben.Zeigler
#rnx
#preflight 637b59ee815e4b9b75ed9406
[CL 23218963 by David Harvey in ue5-main branch]
Move terminate process logic from FLauncherWorker::Cancel to FLauncherWorker::Run to make sure it gets run also for FLauncherWorker::CancelAndWait which gets called via FMainFrameHandler::ShutDownEditor when shutting down the editor.
#jira UE-164394
#rb carlmagnus.nordin
#lockdown mark.lintott
#preflight 6346a8748a0a7b2adc727fad
#rnx
[CL 22483184 by pj kack in ue5-main branch]
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631e281694758d0bf2ea1399
[CL 21960082 by bryan sefcik in ue5-main branch]
- also includes a fix for the wrong 'previous' profile being passed to FProjectLauncherModel::ProfileSelectedDelegate.
- includes a fix for the wrong project being used for device profiles if the fallback project is changed in the editor.
#jira UE-161372, UE-162633
#rb Patrick.Boutot
#preflight 630f9a8c556fc14dce9b72c8
[CL 21789581 by David Harvey in ue5-main branch]
On Windows, "TargetedRHIs" is now split into "D3D11TargetedShaderFormats", "D3D12TargetedShaderFormats" and "VulkanTargetedShaderFormats". "TargetedRHIs" is still parsed for backwards compatibility.
Using this, projects can now be more easily configured for D3D12-only or even Vulkan-only.
Updated FShaderFormatsPropertyDetails to use FName instead of FString for shader platforms. Also added a filtering method for mixed RHI platforms like Windows.
#jira none
#rb mihnea.balta, josh.adams
#preflight 6287cbf46c7692ac8cc8805f
[CL 20300786 by christopher waters in ue5-main branch]
Can now provide reference iostore containers to reuse compressed chunks from. If a match is found on *the decompressed data*, instead of recompressing the blocks, they are read off of disk. This allows tweaks of the compressor algorithm without introducing changes as the runtime still sees the exact same data. Additionally this allows for fairly dramatic staging speedups as nvme speeds are significantly faster than high effort compressions. This is distinct from the DDC compression because:
1) DDC compression ties in the compressor version/method
2) We are explicitly interested in chunks that are deployed to end users, not merely cached for speed.
To facilitate this, several changes were made to IoStore:
FIoStoreReader now directly reads from IFileHandles* instead of routing through the GenericPlatformFile async read system, as that system is sensitive to build #defines and can result in constant file opens under load (indeed, for anything not a .pak file, every read is an open/close).
Cold file cache read speed improvements from ~140MB/s to ~1 GB/s. Hot is more.
Additionally:
FIoStoreReader switched to UE::Tasks from taskgraph for tasks in order to facilitate task retraction during waits as the previous ReadAsync call was trivial to deadlock when called from worker threads due to its use of TFuture<>.
FIoStoreReader::ReadCompressed now returns the compressed blocks as they were on disk - padded to AES encryption block size.
#rb fabian.giesen
#rb jeff.roberts
#preflight 627586dcf77c9c2b543d4d8b
[CL 20086673 by Dan Thompson in ue5-main branch]
Initialize all members in FLauncherTask, and move ReadPipe and WritePipe to FLauncherUATTask.
Initialize all members in FLauncherWorker.
Delete FLauncherVerifyProfileTask since Profile->IsValidForLaunch() is aready checked in FLauncher::Launch before creating the FLauncherWorker.
Move duplicate parsing of "Running Package@Device" and device package handling from all separate wait tasks to the FlauncherWorker.
Move handling of killing the uat process tree from all separate wait tasks to the FLauncherWorker.
Change the launch wait task name from "Build Task" to "Launch Task" to correctly display "Launching..." instead of "Validating/Building executable for..."
#jira none
#rb carlmagnus.nordin
#rnx
#preflight 621c8f73037be0078c8bbfc9
[CL 19195883 by PJ Kack in ue5-main branch]
- Added support for passing the LaunchOnTarget along to the LaunchOn process
#jira UE-138006
#rb matt.peters
#robomerge Release-5.0
#preflight 61e89cb363639eb6f607db67
[CL 18669007 by Josh Adams in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]