Commit Graph

10 Commits

Author SHA1 Message Date
CarlMagnus Nordin
0282a5aef6 Unified Zen and legacy COTF network protocols.
*Reduces code duplication
*Enables the same ODSC flow to be used for both COTF variants
*The client will now autodetect if it should run in Zen mode or not
#rb pj.kack,per.larsson
#preflight 628c79bdf057b981ca479b3e

[CL 20344832 by CarlMagnus Nordin in ue5-main branch]
2022-05-24 02:50:39 -04:00
CarlMagnus Nordin
d4a06b766c ZenCOTF:
*Let the game be in full control of what is getting cooked
*Removed artificial delays when waiting for DDC operations
*No longer relies on all requests being urgent
#rnx
#preflight 620d2f80f8655681e051eded
#rb pj.kack

[CL 19032506 by CarlMagnus Nordin in ue5-main branch]
2022-02-17 04:54:33 -05:00
CarlMagnus Nordin
5f4003c0a2 ZenCOTF: Added RecookPackages request
#rnx
#preflight 6204edb1e54ab7c24baed4fc
#rb pj.kack

[CL 18934062 by CarlMagnus Nordin in ue5-main branch]
2022-02-10 06:11:30 -05:00
CarlMagnus Nordin
4c91ba38d6 COTF: Made the callback optional when cooking packages as it prevents multiple platforms from being cooked at the same time
#rnx
#preflight 6201444d97149bc07a812fcb
#rb per.larsson

[CL 18899945 by CarlMagnus Nordin in ue5-main branch]
2022-02-08 02:54:05 -05:00
CarlMagnus Nordin
77facc9713 ZenCOTF: Notify request manager of packages generated during the cook
#rnx
#rb pj.kack
#preflight 61fd4c63b145346c9e84d947

[CL 18883351 by CarlMagnus Nordin in ue5-main branch]
2022-02-07 02:30:52 -05:00
jason nadro
80493a5424 Refactor cooked ODSC to use the same data structures between the ShaderCompiler, CookGlobalShaderCommandlet, and the CookingServer.
## Refactoring
- FShaderRecompileData is the de-factor data structure for holding recompile inputs/outputs (these should be separated).
- FShaderRecompileData has moved from being a CookingServer only data structure to living in ShaderCompiler (Engine runtime).
- UE::Cook::FRecompileShaderRequest was basically a duplicate struct of FShaderRecompileData.  Now it just holds a FShaderRecompileData struct and a callback.
- RecompileShadersForRemote(), which previously accepted a grab bag of arguments, now just takes the FShaderRecompileData struct.
- ShaderPlatform is no longer a int32 but a EShaderPlatform to be more explicit.
- The downside to this approach is all these systems are more tightly coupled, but the sharing of code makes this easier to modify in the future.

## Bug Fixes
- recompileshaders changed would only sometimes work depending on what materials the cooking server had loaded.  Now the command issued by the client will explicitly say which materials to load and compile for.
- In RecompileShadersForRemote remove the call to GetOutdatedShaderTypes because in the cooking server it doesn't work.  That function only works when the shader maps exist, but in the cooking server when loading materials we do not create the maps.  This creates a chicken/egg issue.  Where we need to maps to determine what's out of date and to recompile...but we don't have the maps because we haven't done a compile yet.

## Features
- Display how long the shader request took on the cooking server.
- Print shader stats out at the end of recompile request.

#rb none
#jira UE-121436, UE-113113
#preflight 6196a3f0f020c4e616acff15

#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18242119 in //UE5/Release-5.0/... via CL 18242138
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18242996 by jason nadro in ue5-release-engine-test branch]
2021-11-18 15:26:44 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
pj kack
1b5d14716c Delete obsolete and unused CookedIterativeFile module
#rb per.larsson
#rnx
#preflight 6142fe35568b3a000112c145

#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 17535748 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17535754 by pj kack in ue5-release-engine-test branch]
2021-09-16 05:27:21 -04:00
matt peters
d09fe9658b CookOnTheFlyServer: Create FLooseCookedPackageWriter and refactor UCookOnTheFlyServer to use ICookedPackageWriter in all cases rather than having a separate path for writing cooked files to disk.
#rb CarlMagnus.Nordin
#rnx

#ROBOMERGE-SOURCE: CL 17247861 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17247875 by matt peters in ue5-release-engine-test branch]
2021-08-20 10:57:45 -04:00
zousar shaker
c27625b056 Integrating //UE5/Dev-Cooker [at] 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame


#ROBOMERGE-SOURCE: CL 16678907 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16678928 by zousar shaker in ue5-release-engine-test branch]
2021-06-15 16:38:03 -04:00