* Significantly reduces the size of shader debug data and improves shader compilation time (reducing parsing cost in the native shader compiler)
* Remove "experimental" label for the feature
#rb Jason.Nadro
#preflight 63d455d9be1970f8824c3f9b
[CL 23894592 by Yuriy ODonnell in ue5-main branch]
[FYI] christopher.waters
Original CL Desc
-----------------------------------------------------------------
RHI header dependency cleanup
- Reducing other header dependencies from RHIDefinitions.h
- Moved a few functions to the new RHIStrings.h
- Uniform buffer layout initializer moved to its own file to reduce RHI dependency on MemoryLayout.
#preflight 63bca752577437afe604b097
[CL 23631957 by bob tellez in ue5-main branch]
- Reducing other header dependencies from RHIDefinitions.h
- Moved a few functions to the new RHIStrings.h
- Uniform buffer layout initializer moved to its own file to reduce RHI dependency on MemoryLayout.
#preflight 63bca752577437afe604b097
[CL 23631946 by christopher waters in ue5-main branch]
* Add code to all shader format back-ends to take dead code removal into account when computing the version ID
* Not enabled in Metal and OpenGL back-ends (require further testing)
#rb dan.elksnitis
#preflight 6390f1f15c5308d18c7364fb
[CL 23433448 by Yuriy ODonnell in ue5-main branch]
[FYI] Laura.Hermanns
Original CL Desc
-----------------------------------------------------------------
Add host machine name to OOM report in DXC backend and refactor global SCW error-code handling.
#rb Jason.Nadro, Dan.Elksnitis, Yuriy.Odonnell, Arciel.Rekman
#preflight 638e610c255f07df8ea212f4
#rnx
[CL 23421737 by kate ellis in ue5-main branch]
- SM6.0+ shader reflection now checks for D3D_SHADER_REQUIRES_STENCIL_REF and sets EShaderCodeFeatures::StencilRef if it's set.
- D3D12 initialization now correctly sets GRHISupportsStencilRefFromPixelShader.
- D3D12 shader loading makes sure that EShaderCodeFeatures::StencilRef shaders are only loaded when GRHISupportsStencilRefFromPixelShader is set.
#jira none
#rb arciel.rekman, graham.wihlidal, jamie.hayes
#preflight 63869441170bc34a93e55135
[CL 23354305 by christopher waters in ue5-main branch]
Serialize the payload size as part of the raytracing shader so it can be examined in the RHI layer.
Validate that the RTPSO is configured with the appropriate payload size.
Add macros to ensure the payloads have the expected size
Ensure that all raytracing pipelines explicitly bind a miss shader
Add a shared shader header to implement static asserts for those shader compilers that support them (like dxc).
Fix payload type on main deferred reflection raygen shader
Fix incorrect raygen shader included in the deferred RTPSO list for RTGI
Don't add builtin shaders to the RTPSO from the RHI layer as these are unlikely to ever match the required payload type
Add new method to register payload types so that plugins can more easily describe custom payloads they may be using (up to a maximum of 32 unique payload types since we use a bitmask to represent payload sets).
#rb Yuriy.ODonnell
#jira UE-157946
#preflight 636aff4363037c102679f13a
#preflight 63869dde170bc34a93e8c90e
[CL 23337139 by chris kulla in ue5-main branch]
- No longer necessary, since they were only used to find/create root signatures, which can be implemented directly in the adapter class.
- RHICreateBoundShaderState is never called.
Remove D3D12_SUPPORTS_PARALLEL_RHI_EXECUTE
- This is always true.
#rb Chris.Waters
#preflight 6384cd3afa053c489af10129
[CL 23300192 by luke thatcher in ue5-main branch]
Bumping D3D_SM5 and D3D_SM6 versions.
#jira none
#rb jason.nadro
#preflight 6384f5d2170bc34a935c960c
[CL 23298219 by christopher waters in ue5-main branch]
- All platforms were extending FBaseShaderResourceTable to add a TArray<uint32> TextureMap member, along with copies of the same RHI code to bind these resources.
- Moved the TextureMap member into the base shader table type, and removed all platform versions. They are all serializer-compatible with the original code, so no shader DDC keys need to be bumped.
- Also moved the "ResourceTable" array of RHI resources into the base FRHIUniformBuffer class.
- Added a SetResourcesFromTables function in RHICoreShader.h
Removed GetD3D11TextureFromRHITexture in D3D11RHI, replaced with a ResourceCast.
- The ResourceCast function for FRHITexture types now always follows the texture reference pointer via the vtable call, like other platforms.
#jira none
#rb Chris.Waters
#preflight 637e6cd43377450900f10fd2
[CL 23252815 by Luke Thatcher in ue5-main branch]