d1479f871a
This avoids a lot of huge code changes. Arrays generally cannot be copied in and out of buffers, at least no compiler frontend seems to do it. Also avoids a lot of issues surrounding packed vectors and matrices.
40 lines
420 B
Plaintext
40 lines
420 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];
|
|
};
|
|
|
|
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
|
|
|
|
kernel void main0(device dstbuffer& _19 [[buffer(0)]])
|
|
{
|
|
s2 testVal;
|
|
testVal.b.a = 0;
|
|
_19.test[0].b.a = testVal.b.a;
|
|
}
|
|
|