- r.Shaders.KeepDebugInfo: if we should compile with debugging information included and export that data to files for platforms that support it.
- r.Shaders.PrepareExportedDebugInfo: precompile debug info for platforms that export it to files.
- r.Shaders.AllowUniqueDebugInfo: used to disallow debug info sharing, will increase debug export sizes.
#jira none
#rb luke.thatcher, lukas.hermanns
[CL 14991674 by christopher waters in ue5-main branch]
- This is used to allow editor to load cooked materials/shader maps
- Remove UE_FORCE_64BIT_MEMORY_IMAGE_POINTERS, and instead always force memory image ptrs to be 64bits...this simplifies some code, and plan is to remove 32bit support at some point anyway
- Frozen memory image pointers only need 32bits for offset, which leaves another 32bits to stash a type identifier...this allows us to interpret that frozen data being referenced, even it's packed for a different platform
#jira UE-91444
#rb arciel.rekman
[CL 14592392 by Ben Ingram in ue5-main branch]
- added cvar to enable it
- exemple of buffer and texture created and written to from BasePass
#rb Charles.DeRousiers
[CL 14326107 by Sebastien Hillaire in ue5-main branch]
#rb trivial
#ROBOMERGE-SOURCE: CL 13148997 via CL 13149004 via CL 13149022 via CL 13149029
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)
[CL 13149030 by zach bethel in Main branch]
#rb Ben.Ingram, Arne.Schobe
#ROBOMERGE-SOURCE: CL 13131316 via CL 13131319 via CL 13131323 via CL 13131343
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)
[CL 13131354 by zach bethel in Main branch]
Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- 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 13053391 in //UE4/Release-4.25/... via CL 13053394 via CL 13053520
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)
[CL 13053522 by ben ingram in Main branch]
Allow FShader::Finalize to be called multiple times, ensure index doesn't change
#rb none
#ROBOMERGE-SOURCE: CL 12958102 in //UE4/Release-4.25/... via CL 12958109 via CL 12959154
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12959964 by ben ingram in Main branch]
Fix issues causing material DDC values to be non-determinisic
- Shader code within resources sorted by hash
- Debug source code values sorted by type
Also add mechanism to serialize any MemoryLayout described type to string
- Makes it easier to inspect material data to find sources of non-determinism
#rb none
#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12944988 in //UE4/Release-4.25/... via CL 12944998 via CL 12957822
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12957827 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]
#rb: Rolando.Caloca
#jira: none
#ROBOMERGE-SOURCE: CL 12491544 in //UE4/Release-4.25/... via CL 12491551 via CL 12491558
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12491562 by zabir hoque in Main branch]