* Use explicit FShaderParameter-s instead of shader parameter struct macros, as this allows the shader to be more easily dispatched from low-level RHI code
* Add total record count parameter to ProcessShaderBundleRecord
* Add CFLAG_ForceBindful to the shader when required by a specific platform
#jira none
#rb christopher.waters, zach.bethel
[CL 30878011 by Yuriy ODonnell in ue5-main branch]
* Skip contents of Begin/EndUAVOverlap when GRHIValidationEnabled is false, avoiding expensive GatherPassUAVsForOverlapValidation call, saving around 1.4% frame wide. Lower level function does nothing when validation isn't enabled.
* Optimize trivial RDG event names with no format specifiers. Detects at compile time that there are no variadic parameters and calls a non-variadic version of the constructor, which references the string instead of generating a dynamically allocated copy through FCString::GetVarArgs. Covers around 40% of RDG event names in my test case, saving around 1.2% frame wide.
#rnx
#rb mihnea.balta
[CL 30781413 by jason hoerner in ue5-main branch]
- Subresource state tracking manipulates less data by always using pointers instead of copying full states.
- Offloaded pooled texture / buffer allocations to an async task.
- Removed dependency between pooled resource allocations and collecting resource barriers. The 'finalize' phase now gathers both first and last barriers for a resource.
- Refactors RDG allocator implementation to make things simpler.
- Moved async tasks within RDG to use the setup task API.
- Moved culling into the async setup queue.
[CL 30774932 by zach bethel in ue5-main branch]
Provides a path for Quest devices to support Mobile HDR in light of a future possible removal of Mobile LDR.
#rb Jack.Porter, jeannoe.morissette, Dmitriy.Dyomin
#jira UE-199319
[CL 30713373 by pr0-zac in ue5-main branch]
FGraphAStar::PopIndex() isn't passing on its argument to the container - that existing behavior has been retained.
#rb james.hopkin
[FYI] Yoan.StAmant
[CL 30712410 by steve robb in ue5-main branch]
- include full hash of uniform buffer metadata in shadermap key instead of just hashing rows/columns/type (the latter doesn't properly account for nested struct layout changes)
- include shader format version in per-shader key (this is already included in the shadermap key, not including it in the per-shader key as well is a dangerous oversight)
#rb Yuriy.ODonnell
[CL 30567016 by dan elksnitis in ue5-main branch]