| // In this test the same struct type `S` is used in contexts with different layout constraints. | |
| struct S { | |
| float[2] a; | |
| }; | |
| layout(vulkan, push_constant) uniform testPushConstants { | |
| float[2] pushConstantArray; | |
| }; | |
| layout(set = 0, binding = 0) uniform testUniforms { | |
| float[2] uboArray; | |
| }; | |
| void main() { | |
| S s1 = S(pushConstantArray); | |
| S s2 = S(uboArray); | |
| sk_FragColor = (s1 == s2) ? half4(1) : half4(0); | |
| } |