SPIRV-Cross/shaders-msl
Chip Davis e5fa7edfd6 MSL: Support scalar block layout.
Relaxed block layout relaxed the restrictions on vector alignment,
allowing them to be aligned on scalar boundaries. Scalar block layout
relaxes this further, allowing *any* member to be aligned on a scalar
boundary. The requirement that a vector not improperly straddle a
16-byte boundary is also relaxed.

I've also added a test showing that `std430` layout works with UBOs.

I'm troubled by the dual meaning of the `Packed` extended decoration. In
some instances (struct, `float[]`, and `vec2[]` members), it actually
means the exact opposite, that the member needs extra padding. This is
especially problematic for `vec2[]`, because now we need to distinguish
the two cases by checking the array stride. I wonder if this should
actually be split into two decorations.
2019-07-09 20:59:32 -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 Fall back to complex loop if non-trivial continue block is found. 2019-07-08 11:54:29 +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 scalar block layout. 2019-07-09 20:59:32 -05:00