Panic allows only one thread to become the panic thread. In panic mode, logs are only sent to panic-safe output devices. Each call to Panic flushes buffered logs to panic-safe output devices, and flushes panic-safe output devices.
#jira UE-147152
#preflight 62424814292f228e09d8a612
#rb Zousar.Shaker
#fyi Brandon.Schaefer
[CL 19545093 by Devin Doucette in ue5-main branch]
[FYI] Jason.Nadro
Original CL Desc
-----------------------------------------------------------------
[ODSC] - Break out recompile shaders functionality into its own file.
- Break out common functionality for both ShaderCompiler.cpp and RecompileShaders.cpp into it's own shared file.
#rb Ben.Ingram
#preflight 619cffb0801b361978aa77d3
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18273892 via CL 18277683 via CL 18373309 via CL 18373446
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18373477 by jason nadro in ue5-release-engine-test branch]
- Break out common functionality for both ShaderCompiler.cpp and RecompileShaders.cpp into it's own shared file.
#rb Ben.Ingram
#preflight 619cffb0801b361978aa77d3
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18273499 via CL 18277654 via CL 18373298 via CL 18373445
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18373470 by jason nadro in ue5-release-engine-test branch]
[FYI] Jason.Nadro
Original CL Desc
-----------------------------------------------------------------
[ODSC] - Break out recompile shaders functionality into its own file.
- Break out common functionality for both ShaderCompiler.cpp and RecompileShaders.cpp into it's own shared file.
#rb Ben.Ingram
#jira none
#preflight 619cffb0801b361978aa77d3
#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18273892 in //UE5/Release-5.0/... via CL 18273919
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18273945 by jason nadro in ue5-release-engine-test branch]
- Break out common functionality for both ShaderCompiler.cpp and RecompileShaders.cpp into it's own shared file.
#rb Ben.Ingram
#jira none
#preflight 619cffb0801b361978aa77d3
#ROBOMERGE-AUTHOR: jason.nadro
#ROBOMERGE-SOURCE: CL 18273499 in //UE5/Release-5.0/... via CL 18273518
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18273542 by jason nadro in ue5-release-engine-test branch]
## 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]