This adds support for a new compilation flag that enables warnings as errors. Support was added for most of the main platforms. This feature has to opted into since many shaders currenntly contain small warnings, however this gives the ability for developpers to locally opt-in to this behavior to slowly sanitize code.
A global CVar: r.Shaders.WarningsAsErrors was also added, which will force every shader to be (re)built with this enabled for even more thorough checking.
#rb Jason.Nadro, Lukas.Hermanns, Rolando.Caloca
[CL 15383543 by chris kulla in ue5-main branch]
- 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]