This replaces classes' use of friendship with internal TSharedPtr functions.
#rb devin.doucette
#jira none
[CL 16745356 by Steve Robb in ue5-main branch]
Note: _MSC_VER is still 1929 with the VS2022 preview, I expect it to be 1930 eventually when the compiler version is bumped which should match the versioning scheme for every other VS release
#rb none
#preflight 60d0c0d878c3b00001e335d9
[CL 16730633 by Joe Kirchoff in ue5-main branch]
Adds UncontrolledChangelistValidator, reconciling writable assets, warning the user if new uncontrolled changes are found during changelist validation
#rb Sebastien.Lussier
#preflight 60d0965a367e6700013a0083
#changelist validated
[CL 16728469 by luc eygasier in ue5-main branch]
This is necessary to support building textures independently of the UTexture, which is required by the new derived data build interface.
#rb Zousar.Shaker
#rnx
#preflight 60cbbb906092ba000158179a
[CL 16714489 by Devin Doucette in ue5-main branch]
Add ray tracing shader types
Add initial ray tracing pipeline creation
Add acceleration structure descriptor type
Add basic ray tracing pipeline, occlusion support initially
Strip reflection from ray tracing shader spirv to deal with validation warnings
Don't use an array of vk descriptor types directly, this breaks with non-contiguous enum values which are common in extensions. Using a TMap from descriptor type to values instead.
Don't store vk types in the serialized shader header, translate to and from our own internal enum types to avoid similar non-contiguous value issues.
Re-enabled ray tracing compilation on windows desktop, explicitly disable runtime support using GRHISupportsRayTracing
Todo:
We need to deal with the lack of a 1:1 mapping between shader stages and frequencies for ray tracing hit groups. This is a one to many mapping which doesn't work with how most of the Vulkan RHI is authored. For now I'm assuming a hitgroup maps to a CHS.
Ray tracing shader descriptor allocation and pending state support. While we are serializing the descriptors for ray tracing shaders, we're not allocating or updating them yet which is the last large chunk needed to trace rays.
Fix spirv binary version mismatch validation error. This basically needs a local dxc modification which explicitly sets the spirv binary version to work around incorrect assuptions in dxc which is causing validation failures.
Add another local dxc modification to allow for arbirary struct size support using VK_EXT_scalar_block_layout for ray tracing shaders.
#rb jeannoe.morissette, lukas.hermanns
[CL 16711940 by Ryan Vance in ue5-main branch]