SPIRV-Cross/shaders-msl
Hans-Kristian Arntzen 46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode.
Firstly, never flatten inputs or outputs in multi-patch mode.
The main scenario where we do need to care is Block IO.
In this case, we should only flatten the top-level member, and after
that we use access chains as normal.

Using structs in Input storage class is now possible as well. We don't
need to consider per-location fixups at all here. In Vulkan, IO structs
must match exactly. Only plain vectors can have smaller vector sizes as
a special case.
2021-04-19 12:10:49 +02:00
..
amd MSL: Support the SPV_AMD_shader_trinary_minmax extension. 2019-07-13 16:43:57 -05:00
asm Roll dependencies. 2021-01-08 10:41:51 +01:00
comp MSL: Support atomic access to images from argument buffers. 2020-10-13 02:37:18 -05:00
desktop-only MSL: Add support for processing more than one patch per workgroup. 2020-07-23 17:59:54 -05: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: Adjust FragCoord for sample-rate shading. 2020-11-23 10:30:24 -06:00
intel MSL: Support the SPV_INTEL_shader_integer_functions2 extension. 2019-07-15 09:42:36 -05:00
legacy/vert Enhance MSL testing and add numerous MSL test cases. 2017-01-30 22:55:21 -05:00
masking MSL: Handle masking of builtin control points. 2021-04-19 12:10:49 +02:00
tesc MSL: Rewrite how IO blocks are emitted in multi-patch mode. 2021-04-19 12:10:49 +02:00
tese MSL: Force builtin arrays for builtin array types. 2021-04-19 12:10:49 +02:00
vert MSL: Always return [[position]] when required. 2021-02-15 12:57:37 +01:00
vulkan MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3. 2020-10-13 00:25:32 -05:00