SPIRV-Cross/reference/shaders-msl/comp/struct-nested.comp
Hans-Kristian Arntzen 96492648d4 MSL: Fix struct declaration order with complex type aliases.
MSL generally emits the aliases, which means we cannot always place the
master type first, unlike GLSL and HLSL. The logic fix is just to
reorder after we have tagged types with packing information, rather than
doing it in the parser fixup.
2019-05-23 14:54:04 +02:00

38 lines
357 B
Plaintext

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct s1
{
int a;
};
struct s2
{
s1 b;
};
struct s1_1
{
int a;
};
struct s2_1
{
s1_1 b;
};
struct dstbuffer
{
s2_1 test[1];
};
kernel void main0(device dstbuffer& _19 [[buffer(1)]])
{
s2 testVal;
testVal.b.a = 0;
_19.test[0].b.a = testVal.b.a;
}