SPIRV-Cross/reference
Hans-Kristian Arntzen 24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors.
It is allowed to redeclare descriptors with different types in Vulkan.
MSL in general does not allow this, but for raw buffers, we can cast the
reference type at the very least.

For typed resources we are kinda hosed. Without descriptor indexing's
PARTIALLY_BOUND_BIT, descriptors must be valid if they are statically
accessed, so it would not be valid to access differently typed aliases
unless that flag is used. There might be a way to reinterpret cast
descriptors, but that seems very sketchy.

Implements support for:

- Single discrete descriptor
- Single argument buffer descriptor
- Array of argument buffer descriptors

Other cases are unimplemented for now since they are extremely painful
to unroll.
2022-09-20 15:21:56 +02:00
..
opt MSL: Handle descriptor aliasing of raw buffer descriptors. 2022-09-20 15:21:56 +02:00
shaders Update mesh/task test references. 2022-09-12 12:46:14 +02:00
shaders-hlsl Merge pull request #1946 from KhronosGroup/fix-1943 2022-05-18 19:22:45 +02:00
shaders-hlsl-no-opt HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan. 2022-07-22 13:39:37 +02:00
shaders-msl MSL: Handle descriptor aliasing of raw buffer descriptors. 2022-09-20 15:21:56 +02:00
shaders-msl-no-opt MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
shaders-no-opt Update mesh/task test references. 2022-09-12 12:46:14 +02:00
shaders-reflection remove newline at eof 2022-04-26 19:15:51 +02:00
shaders-ue4/asm MSL: only fix up gl_FragCoord if really necessary. 2022-09-13 18:50:57 +08:00
shaders-ue4-no-opt/asm Update dependencies. 2022-09-02 14:58:04 +02:00