SPIRV-Cross/reference
Chip Davis fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage.
The standard `matrix` type in MSL lacked a constructor in the
`threadgroup` AS. This means that it was impossible to declare a
`threadgroup` variable that contains a matrix. This appears to have been
an oversight that was corrected in macOS 13/Xcode 14 beta 4. This
workaround continues to be required, however, for older systems.

To avoid changing interfaces unnecessarily (which shouldn't be a problem
regardless because the old and new types take up the same amount of
storage), only do this for structs if the struct is positively
identified as being used for workgroup storage.

I'm entirely aware this is inconsistent with the way packed matrices are
handled. One of them should be changed to match the other. Not sure
which one.

Fixes 23 CTS tests under `dEQP-VK.memory_model.shared`.
2022-08-07 17:31:41 -07:00
..
opt MSL: Use a wrapper type for matrices in workgroup storage. 2022-08-07 17:31:41 -07:00
shaders GLSL: Add more extension ladder fallbacks for unusual integer sizes. 2022-06-07 18:30:10 +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: Use a wrapper type for matrices in workgroup storage. 2022-08-07 17:31:41 -07:00
shaders-msl-no-opt Add tests for OpCompositeInsert edge cases. 2022-05-18 16:43:32 +02:00
shaders-no-opt Handle multiple breaks out of switches. 2022-07-22 15:31:40 +02:00
shaders-reflection remove newline at eof 2022-04-26 19:15:51 +02:00
shaders-ue4/asm Attempt more optimal codegen for OpCompositeInsert. 2022-05-18 16:37:33 +02:00
shaders-ue4-no-opt/asm Attempt more optimal codegen for OpCompositeInsert. 2022-05-18 16:37:33 +02:00