- 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]
#jira ue-90726
#rb uriel.doyon
#ROBOMERGE-SOURCE: CL 12232768 in //UE4/Release-4.25/... via CL 12232770
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)
[CL 12234779 by john hable in Main branch]
New CVars:
- r.RayTracing.CompileMaterialCHS (default 1)
- r.RayTracing.CompileMaterialAHS (default 1)
The value is read-only and must match between cook-time and run-time.
#rb Krzysztof.Narkowicz
[FYI] Yuriy.ODonnell
#jira UE-90463
#ushell-cherrypick of 11541300 by Yuriy.ODonnell
#ROBOMERGE-SOURCE: CL 12202891 in //UE4/Release-4.25/... via CL 12202949
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v662-12191386)
[CL 12203392 by juan canada in Main branch]
#jira UE-89822
#rb jack.porter, dmitriy.dyomin, mi.wang
#ROBOMERGE-SOURCE: CL 11850481 in //UE4/Release-4.25/... via CL 11850482
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)
[CL 11850703 by wei liu in Main branch]
Fix potential null dereference
#rnx
#ROBOMERGE-SOURCE: CL 11292515 via CL 11292519 via CL 11292521 via CL 11292524
#ROBOMERGE-BOT: (v647-11244347)
[CL 11293015 by jeremy moore in Main branch]