SPIRV-Cross/reference/opt/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 Updates for pull request #1162 2019-09-24 14:35:25 -04:00
asm MSL: Sort builtin IO block members by builtin type. 2021-04-19 12:10:49 +02:00
comp MSL: Fix calculation of atomic image buffer address. 2020-10-13 20:51:56 -05:00
desktop-only MSL: Rewrite how IO blocks are emitted in multi-patch mode. 2021-04-19 12:10:49 +02:00
flatten MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
frag MSL: Force builtin arrays for builtin array types. 2021-04-19 12:10:49 +02:00
intel Updates for pull request #1162 2019-09-24 14:35:25 -04:00
legacy/vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
masking MSL: Rewrite how IO blocks are emitted in multi-patch mode. 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