Acceleration Structure API refactor and Asset Converter ReBAR support
Pre-releaseCleaned up the inheritance hierarchy in TLAS and BLAS classes.
Now BLAS is a proper IPreHashed and TLAS has utility static methods to convert a Polymorphic Instance to a non-polymorphic one where the type is embedded in the lower bits of the Aligned Pointer when doing a build where the Instance input buffer is a span of pointers.
Added a demote_promote_writer_readers_lock which is well thought out and actually works.
Asset Converter can be now overriden to assume ReBAR support and create Buffers over DEVICE_LOCAL and HOST_VISIBLE memory, sidestepping the use of a transfer queue to upload the buffer data.
Queue Families declared when creating a Buffer or Image with concurrent sharing mode can now be queried from the object.
Fixed a number of bugs in Descriptor Lifetime Tracking and general inheritance patterns.
Fixed a bug in IUtilities where overflow submits and intended submits signalling timeline semaphores upon which staging buffer deferred memory deallocations were latched, would not get patched to include the COPY_BIT in the signal stage mask.
Minor additions of fma to HLSL/C++ tgmath library.