- shader got renamed so retarget the associated pre-processor defines to the new shader
- also convert the errors incurred to warnings as they should not be fatal to cooks
#rb Jamie.Hayes
#jira none
#preflight 6245b71c981a2c8eb4808dda
[CL 19573197 by eric mcdaniel in ue5-main branch]
- The cvar `r.Material.DumpDDCKeys` has been renamed to `r.ShaderCompiler.DumpDDCKeys`.
- The directory they output to changed from "MaterialDDCKeys" to "ShaderDDCKeys"
- Break getting the global shader map DDC key string out into a function to make it easier to call when we dump DDC keys.
- Global Shader map section files are named "GlobalShaderMap-%s" where %s is the name of the section (usually a global shader type).
- Editor and Game shaders are dumped to separated directories.
- Expose ShouldDumpShaderDDCKeys() function so material code can see if dumping is enabled.
#rb Arciel.Rekman
#jira none
#preflight 623a4f1110251d53d57a1da7
[CL 19479594 by Jason Nadro in ue5-main branch]
Correctly write to MemoryImageNames array, copy contents of TArrayView rather than the layout of the view object itself, handle name layout during patch application on foreign platforms.
#rb none
[FYI] johan.torp, ben.ingram
#ROBOMERGE-OWNER: Ben.Woodhouse
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19068807 via CL 19068829 via CL 19074886 via CL 19075335 via CL 19077116
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19077183 by robert millar in ue5-main branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
- Frozen memory images may have de-duplicated sections, where the same object is referenced multiple times; this means default destructors might be called multiple times, which is not supported in general
- Add a hook to allow custom behavior to destroy frozen objects that may hold references to external resources
- Within shader system, no need to run destructors, since all memory should be owned by the top-level memory image
#jira none
#rb arciel.rekman, charles.bloom
#ROBOMERGE-SOURCE: CL 16278300 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v799-16237190)
[CL 16278915 by ben ingram in ue5-release-engine-test branch]
Improve behavior when global shades can't be loaded due to memory layout differences
(Trigger a fatal log mentioning missing global shaders, rather than simply crash on nullptr access)
#rb none
#ROBOMERGE-SOURCE: CL 12675920 in //UE4/Release-4.25/... via CL 12675925 via CL 12675937
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12675940 by ben ingram in Main branch]
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12646854 via CL 12646966 via CL 12646981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12646995 by ben ingram in Main branch]
#rb none
#ROBOMERGE-SOURCE: CL 12579879 via CL 12579892 via CL 12579904
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)
[CL 12579927 by ben ingram in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]