SPIRV-Cross/shaders-msl/vulkan/frag
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
..
basic.multiview.nocompat.vk.frag MSL: Support SPV_KHR_multiview. 2019-06-29 09:43:55 -05:00
push-constant.vk.frag Enhance MSL testing and add numerous MSL test cases. 2017-01-30 22:55:21 -05:00
scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag MSL: Support scalar block layout. 2019-07-09 20:59:32 -05:00
spec-constant.msl11.vk.frag MSL: Do not emit function constants for version < 1.2. 2018-09-07 09:33:34 +02:00
spec-constant.vk.frag CompilerMSL add support for MSL specialization function constants. 2017-06-15 15:24:22 -04:00
subgroups.nocompat.invalid.vk.msl21.frag MSL: Support SubgroupLocalInvocationId and SubgroupSize in all stages. 2019-07-02 11:48:59 -05:00