Commit Graph

192 Commits

Author SHA1 Message Date
Dan Thompson
1648e152b4 Fix passing -WriteBackMetadataToAssetRegistry via RunUAT. Now you can pass this in ushell after the -- when doing .stage game.
#rb martin.ridgers
#preflight 6320b01c506f1a33e05a6765

[CL 21986745 by Dan Thompson in ue5-main branch]
2022-09-13 13:21:49 -04:00
robert millar
0491bcc13c FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for misc developer dir files.

#jira UE-161932
#rb none
#preflight 631f8070fd6da68d68b56472

[CL 21976423 by robert millar in ue5-main branch]
2022-09-12 19:53:59 -04:00
Dan Thompson
039bb04ac7 Log AR load errors (turns out, not actually logged when it's missing on disk!)
#rb trivial
#preflight 6305511cae13a5a098fea3e4

[CL 21522835 by Dan Thompson in ue5-main branch]
2022-08-23 18:22:09 -04:00
mark lintott
3d47f895e5 Fixed unacceptable words in PakFileUtilities
#jira UE-158611
#rb pj.kack
#preflight 62f383dbbc175ec68c338e38

[CL 21316108 by mark lintott in ue5-main branch]
2022-08-10 06:24:40 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
David Harvey
cceef86205 warn if the previous container files could not be found when creating a new release version - otherwise the patch delta can be significantly higher on some platforms.
#jira UE-132761
#rnx
#rb CarlMagnus.Nordin
#preflight 62bedd9ab447118888501bc2

[CL 20913019 by David Harvey in ue5-main branch]
2022-07-01 07:47:10 -04:00
CarlMagnus Nordin
5c69443c62 IoStore:
Default to using the current build crypto keys when reading previous builds for layout matching
Fixed incorrect order of previous build chunks when layout matching against a previous build
#rb david.harvey
#preflight 62bd9ea0a3568e30663af6fa

[CL 20895985 by CarlMagnus Nordin in ue5-main branch]
2022-06-30 11:15:16 -04:00
Matt Peters
ec493e4052 Multiprocess Cook - Add CookWorkerMode and IWorkerRequests interface.
#rb Zousar.Shaker
#rn Cooking, Minor
#preflight 62b4ff53970a8db3373f6e3c
#robomerge EngineMerge

[CL 20807998 by Matt Peters in ue5-main branch]
2022-06-24 08:14:11 -04:00
carlmagnus nordin
bc0b9cf56d IoStore: Add support for staging and loading auto optional packages
#preflight 62a879e8d502a5543671efa4
#rb francis.hurteau

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 20699731 via CL 20699906 via CL 20699913 via CL 20699917
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20700279 by carlmagnus nordin in ue5-main branch]
2022-06-17 04:25:23 -04:00
carlmagnus nordin
c12d76ebe2 IoStore: Removed warning about missing packages not getting assigned a load order
#preflight 62a087f7232daff7b3d5ab53
#rb pj.kack

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 20572957 via CL 20573494 via CL 20573503 via CL 20573508
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20573902 by carlmagnus nordin in ue5-main branch]
2022-06-09 07:37:49 -04:00
Devin Doucette
ffb60052c5 Removed runtime dependencies on DerivedDataCache
#preflight 6298f3250f6e137393b9dea7
#rb Zousar.Shaker
#rnx

[CL 20472431 by Devin Doucette in ue5-main branch]
2022-06-02 13:44:07 -04:00
Zousar Shaker
d34d74fad2 Avoid compiling in desktop-only Zen functionality for Stadia due to the use of PLATORM_UNIX instead of PLATFORM_LINUX.
#rb devin.doucette
#fyi martin.ridgers
#preflight 62967ef3261e39f6206b0a82

[CL 20444919 by Zousar Shaker in ue5-main branch]
2022-05-31 20:12:27 -04:00
Zousar Shaker
edf8ae1f0b 2nd submit:
Switch Zen cache store to use the HTTP request codepath in the Jupiter cache store while taking some of the improvements that had been made when that code was branched off to make the Zen HTTP codepath.  This is a precursor for getting Zen cache store using non-blocking operations like Jupiter cache store - this has started to be stubbed in with the EnqueueAsyncRpc methods that are stubbed in but not used from the Zen cache store.  Eventually I'd like this HTTP code to move out of the DerivedDataCache module and be usable elsewhere and supplant the HTTP code currently in the Zen module, but this will require some decisions about whether IRequestOwner should move out of the DerivedDataCache module or not.

Tested Zen operation using ShooterGame editor.
Tested Jupiter operation using CitySample editor (empty local cache).

#rb devin.doucette
#fyi stefan.boberg
#preflight 62953e65401169f78c57c298
#preflight 629642a1be0ae0b33a46d012

[CL 20438549 by Zousar Shaker in ue5-main branch]
2022-05-31 12:42:17 -04:00
Zousar Shaker
77f51a02b9 [Backout] - CL20433163
#fyi Zousar.Shaker
Original CL Desc
-----------------------------------------------------------------
Switch Zen cache store to use the HTTP request codepath in the Jupiter cache store while taking some of the improvements that had been made when that code was branched off to make the Zen HTTP codepath.  This is a precursor for getting Zen cache store using non-blocking operations like Jupiter cache store - this has started to be stubbed in with the EnqueueAsyncRpc methods that are stubbed in but not used from the Zen cache store.  Eventually I'd like this HTTP code to move out of the DerivedDataCache module and be usable elsewhere and supplant the HTTP code currently in the Zen module, but this will require some decisions about whether IRequestOwner should move out of the DerivedDataCache module or not.

Tested Zen operation using ShooterGame editor.
Tested Jupiter operation using CitySample editor (empty local cache).

#rb devin.doucette
#fyi stefan.boberg
#preflight 62953e65401169f78c57c298

[CL 20433363 by Zousar Shaker in ue5-main branch]
2022-05-30 19:32:59 -04:00
Zousar Shaker
2f6cbf5012 Switch Zen cache store to use the HTTP request codepath in the Jupiter cache store while taking some of the improvements that had been made when that code was branched off to make the Zen HTTP codepath. This is a precursor for getting Zen cache store using non-blocking operations like Jupiter cache store - this has started to be stubbed in with the EnqueueAsyncRpc methods that are stubbed in but not used from the Zen cache store. Eventually I'd like this HTTP code to move out of the DerivedDataCache module and be usable elsewhere and supplant the HTTP code currently in the Zen module, but this will require some decisions about whether IRequestOwner should move out of the DerivedDataCache module or not.
Tested Zen operation using ShooterGame editor.
Tested Jupiter operation using CitySample editor (empty local cache).

#rb devin.doucette
#fyi stefan.boberg
#preflight 62953e65401169f78c57c298

[CL 20433163 by Zousar Shaker in ue5-main branch]
2022-05-30 18:14:02 -04:00
devin doucette
b2a07ea03e DDC: Merge from UE5/Main
#preflight 6288ff678828ea88c8af7034
#preflight 628ab5d93246d5019db76ed2
#rb none
#rnx

#ROBOMERGE-OWNER: devin.doucette
#ROBOMERGE-AUTHOR: Devin.Doucette
#ROBOMERGE-SOURCE: CL 20353148 via CL 20353832 via CL 20353839
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20355348 by devin doucette in ue5-main branch]
2022-05-24 16:40:25 -04:00
CarlMagnus Nordin
210d67b30e Promoted Zen project id generation to FApp
#rb pj.kack
#preflight 628769032c34da686ac82442

[CL 20316798 by CarlMagnus Nordin in ue5-main branch]
2022-05-23 01:49:25 -04:00
Matt Peters
02ba0b5b70 ZenStoreWriter: Fix assertion "Trying to add package that is already pending" if the cooker commits a package a second time while the first commit of the package is queued for asynchronous completion aand has not yet reached CommitPackageInternal.
This is necessary because as of CL 20151503, the cooker can commit the same package multiple times if the first save failed due to a timeout.

#fyi CarlMagnus.Nordin
#rnx
#rb Per.Larsson
#preflight 62853ba90f0d5076dee74ced

[CL 20265738 by Matt Peters in ue5-main branch]
2022-05-18 14:49:11 -04:00
francis hurteau
b37b8af059 Fix crash in package optimizer when recursively resolving exports which an import outer in the chain
Removed default parameter to the function that obfuscated the omission

#rb CarlMagnus.Nordin
#preflight 6282cac0734d065770482e21

#ROBOMERGE-AUTHOR: francis.hurteau
#ROBOMERGE-SOURCE: CL 20243942 via CL 20260296 via CL 20260314 via CL 20260321
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20263026 by francis hurteau in ue5-main branch]
2022-05-18 12:56:12 -04:00
josh adams
c9a46d2479 - Fixed typo on printf, I swear I had compiled the editor, I guess not sigh
#rb trivial
#preflight skip

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 20187446 via CL 20189065 via CL 20189140 via CL 20189159
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20191624 by josh adams in ue5-main branch]
2022-05-13 18:57:37 -04:00
josh adams
e7204af78c - Added some more debugging for dealing with missing EditorOptional files going from Client -> Editor
#rb trivial
#preflight skip

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 20185216 via CL 20189057 via CL 20189126 via CL 20189153
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20191620 by josh adams in ue5-main branch]
2022-05-13 18:57:30 -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
Dan Thompson
718ea8fe80 Several IoStore determinism fixes:
-- Shaders must be sorted prior to inlining, as they are inserted in to a sorted list.
-- Break ties sorting shaders on disk with chunkid (hash)
-- Sort the shader map hashes in the package store entry
-- Pick the lowest LoadOrderFactor instead of the first for shaders that are used in more than one package.
-- Fix -WriteFinalOrder to actually write the final order as well as all chunks.
#rb fabian.giesen, charles.bloom
#preflight 627441a7de15651eeb416fbf

[CL 20065025 by Dan Thompson in ue5-main branch]
2022-05-05 17:43:49 -04:00
Josh Adams
defdfa230a - Added option for IoStore to write optional files (.o.ucas) to a different directory. This is used when making a a cooked editor as DLC against a client build (the client build has to make the optional editor data, but we do not want to ship the optional data with the client). The MakeCookedEditor script will then copy the files from that location into the editor's Stage directory (under Content/Paks)
#rb carl-magnus.nordin,francis.hurteau
#preflight 6273f8fd8d32cd80d8a8ecdb

[CL 20059504 by Josh Adams in ue5-main branch]
2022-05-05 12:28:59 -04:00
CarlMagnus Nordin
f75f1052e6 IoStore: Fixed non-deterministic shader classification and ordering
#preflight 626134653f4b2bba85007b48
#rb pj.kack

[CL 20021659 by CarlMagnus Nordin in ue5-main branch]
2022-05-03 01:39:34 -04:00