SPIRV-Cross/shaders-msl
Chip Davis 31b6c93516 MSL: Support SubgroupLocalInvocationId and SubgroupSize in all stages.
MSL prior to 2.2 doesn't support these natively in any stage but
compute. But, we can (assuming no threads were terminated prematurely)
get their values with some creative uses of the
`simd_prefix_exclusive_sum()` and `simd_sum()` functions.

Also, fix a missing `to_expression()` with `BuiltInSubgroupEqMask`.

For KhronosGroup/MoltenVK#629.
2019-07-02 11:48:59 -05:00
..
asm Handle more cases with FP16 and texture sampling. 2019-06-27 15:04:22 +02:00
comp MSL/HLSL: Support OpOuterProduct. 2019-07-01 10:57:27 +02:00
desktop-only MSL: New SDK errors out on cull distance. 2019-06-14 12:12:40 +02:00
flatten Use declared binding in SPIR-V as a fallback for explicit MSL binds. 2018-04-04 12:25:11 +02:00
frag MSL: Add support for SubgroupSize / SubgroupInvocationID in fragment. 2019-06-24 12:31:54 +02:00
legacy/vert Enhance MSL testing and add numerous MSL test cases. 2017-01-30 22:55:21 -05:00
tesc MSL: Add support for tessellation control shaders. 2019-02-07 08:51:22 -06:00
tese MSL: Use vectors for the tessellation level builtins in tese shaders. 2019-02-22 12:18:51 -06:00
vert MSL: Support Invariant qualifier on position. 2019-06-12 09:39:12 +02:00
vulkan MSL: Support SubgroupLocalInvocationId and SubgroupSize in all stages. 2019-07-02 11:48:59 -05:00