Commit Graph

114 Commits

Author SHA1 Message Date
christopher waters
8d8c05f497 Reworking shader platform settings on Windows to be per-RHI. This removes the ill-fated "min/max feature level" configs that were just causing confusion.
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]
2022-05-20 15:09:09 -04:00
Dan Thompson
3a6321167b Packaging Reference Chunk Database - "Lossless Patch Preventer"
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]
2022-05-06 18:22:44 -04:00
brandon schaefer
0bd6c3bf25 Dont pass -noclient if we are doing both a client and server build
#jira UE-149294
#rb Josh.Adams
#preflight 62743bf54a2e9340486e9f77

#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 20064789 in //UE5/Release-5.0/... via CL 20065553
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20067014 by brandon schaefer in ue5-main branch]
2022-05-05 19:18:33 -04:00
PJ Kack
5d0ce32acd UAT: For editor quick launch and packaging, only pass -iostore and -compressed when using -pak, and never pass -compressed to the cook commandlet (that feature has been removed).
#jira none
#rb carlmagnus.nordin
#rnx
#preflight 6273b3d45b05fb4f60112bbe

[CL 20056179 by PJ Kack in ue5-main branch]
2022-05-05 07:41:13 -04:00
PJ Kack
040822a13a Editor launcher cleanup.
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]
2022-03-01 03:41:26 -05:00
Josh Adams
4c41fe8d8b - Added a new ProjectPackaging setting - LaunchOnTarget which is now shown int he Platforms menu when multiple Game targets exist (Lyra).
- 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]
2022-01-19 18:54:41 -05:00
joe kirchoff
ce3aa781de Fixed the initial map setting of the project launcher being ignored when also specifying maps to cook (from jamie.dale)
#jira UE-119188
[FYI] jamie.dale
#rb trivial
#preflight 61e081ce787db720a912c783

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18602768 in //UE5/Release-5.0/... via CL 18602826 via CL 18602868
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18602899 by joe kirchoff in ue5-main branch]
2022-01-13 15:09:04 -05:00
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
Per Larsson
cd7e077d77 Simplify command line arguments when running COTF with Zen loader/storage server
- changed Cooker arguments from -CookOnTheFly -IoStore to -CookOnTheFly -ZenStore
- changed Zen host argument from -StorageServerHost to -ZenStoreHost
- updated UAT to support running CBTB with -ZenStore
- updated StorageServerConnection to handle multiple hosts from command line

Cooker:
  CBTB: -ZenStore
  COTF: -ZenStore -CookOnTheFly

Game:
  CBTB: -ZenStoreHost=<ip> or <ip1,ip2>
  COTF: -ZenStoreHost=<ip> or <ip1,ip2> -CookOnTheFly

#rb CarlMagnus.Nordin
#jira none
#rnx

[CL 16849969 by Per Larsson in ue5-main branch]
2021-07-14 10:38:23 -04:00
David Harvey
fab3fde1fd In-Editor UI for Turnkey.
#jira UE-118572
#rb Josh.Adams, Nuno.Leiria
#rnx

[CL 16754815 by David Harvey in ue5-main branch]
2021-06-23 05:38:48 -04:00
Zousar Shaker
cf116088ae Integrating //UE5/Dev-Cooker @ 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame

[CL 16678907 by Zousar Shaker in ue5-main branch]
2021-06-15 16:36:57 -04:00
Jamie Dale
64f3d21132 Pass the culture list override from the project launcher for cook-by-the-book cooks
This override is only used if the list isn't empty, otherwise the project default is used. Cook-on-the-fly isn't impacted by this change, as it cooks assets on-demand so doesn't need to pre-cook a certain list of cultures.

#rb Patrick.Laflamme

[CL 16407969 by Jamie Dale in ue5-main branch]
2021-05-20 15:23:39 -04:00
jeff newquist
5ea7789d60 Rename UE4CommandLine.txt to UECommandLine.txt and deal with all the related changes
#rb TBD
#jira UE-113713

[CL 16093056 by jeff newquist in ue5-main branch]
2021-04-22 10:29:26 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Phillip Kavan
11c00323ea Remove exposed parts of the Blueprint nativization feature (deprecated), and decouple it from the editor/cooking phase.
#jira UE-103261
#rb Michael.Noland

[CL 14882147 by Phillip Kavan in ue5-main branch]
2020-12-08 16:28:03 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Josh Adams
38cc433287 - Hardened up the async SDK querying in the Launch On menu
#jira UE-98172
#robomerge release-5.0-m2

[CL 14275973 by Josh Adams in ue5-main branch]
2020-09-08 20:07:06 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Josh Adams
94f4be4de1 - Renamed PlatformInfo::FPlatformInfo to PlatformInfo::FTargetPlatformInfo
- Renamed FDataDrivenPlatformRegistry::FPlatformInfo to FDataDrivenPlatformInfo
- Moved some fields from PlatformInfo::FTargetPlatformInfo to FDataDrivenPlatformInfo, and cleaned them up in the process
- Fixed the DataDrivePlatformInfo.ini files to match the previous items
- Removed FVanillaPlatformEntry, and now just using FTargetPlatformInfo to manage flavors under a vanilla PlatformInfo (see PlatformInfo::GetVanillaPlatformInfoArray())
- Cleaned up TPerPlatformValue, as it was often misused (took a group and platform name, but we can get the group from the platform name) [AnimationSharingManager.cpp, *Engine.cpp, Runtime\Engine\*, ]
- Fixed FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to use IniPlatformName instead of some hacky code [BlueprintNativeCodeGenManifest.cpp]
- Fixed various Turnkey bugs that recent testing exposed
- Enabled AUTOSDKS_ENABLED in both Mac and Linux on the Editor side (not that there are much set up to use it)
- Using Turnkey to get the SDK status instead of ValidatePlatforms (gives more detailed information - may want to go back to ValidatePlatforms so only UBT is needed, but change it to give more info)
- Moved OnDeviceDiscovered and Lost delegates from each platform's TargetPlatform class to a static in ITargetPlatform - there was no need for per-platform implementations
- Started working on allowing for SDK to be installed with editor running and not need to restart editor - Work in Progress! It is not usable yet.
#fyi jack.porter
#rb pete.sauerbrei

[CL 13816905 by Josh Adams in ue5-main branch]
2020-07-01 17:07:12 -04:00
Josh Adams
d7a9c8edeb - Turnkey from Editor support (install Sdk, flash devices as needed, storing Sdk info in DDPI for display in Launch On menu, etc)
- There is a second Launch dropdown button for now, the original is still there for now (quick launch of previous device will not do Turnkey at this time)
- Various platform turnkey support updates

[CL 13653953 by Josh Adams in ue5-main branch]
2020-06-09 16:36:54 -04:00
Josh Adams
d04b198d32 - Removed Win32 from being referenced in:
- BuildScripts so builders won't compile it
  - UBT platform registration and from being registered in UBT (so it won't show up in VS)
  - PlatformInfo (so it can't triggered from Package/Launch On)
#rb ben.marsh

[CL 13546702 by Josh Adams in ue5-main branch]
2020-05-26 12:07:45 -04:00
josh adams
409f4becce - 32bit windows project setting now should work in all modes
#rb none
#jira UE-92383,UE-92379

#ROBOMERGE-SOURCE: CL 13007378 in //UE4/Release-4.25/... via CL 13007382 via CL 13007391
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 13007401 by josh adams in Main branch]
2020-04-23 11:18:30 -04:00
josh adams
31d7a43cc3 - Fix CIS error
#jira UE-92369
#rb none

#ROBOMERGE-SOURCE: CL 13005944 in //UE4/Release-4.25/... via CL 13005949 via CL 13005973
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 13005992 by josh adams in Main branch]
2020-04-23 09:33:39 -04:00
josh adams
7f5b8df769 - Fixed ProjectLauncher/UnrealFrontend/LaunchOn to respect the Target32Bit windows project setting
#jira UE-92363
#rb none

#ROBOMERGE-SOURCE: CL 12986697 in //UE4/Release-4.25/... via CL 12986699 via CL 12986703
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12986835 by josh adams in Main branch]
2020-04-22 22:46:38 -04:00