48 lines
689 B
Plaintext
48 lines
689 B
Plaintext
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct B2
|
|
{
|
|
float4 elem2;
|
|
};
|
|
|
|
struct C
|
|
{
|
|
float4 c;
|
|
B2 b2;
|
|
B2 b2_array[4];
|
|
};
|
|
|
|
struct B1
|
|
{
|
|
float4 elem1;
|
|
};
|
|
|
|
struct A
|
|
{
|
|
float4 a;
|
|
B1 b1;
|
|
B1 b1_array[4];
|
|
};
|
|
|
|
struct _8
|
|
{
|
|
A a_block;
|
|
C c_block;
|
|
};
|
|
|
|
kernel void main0(device _8& _3 [[buffer(0)]])
|
|
{
|
|
A _27;
|
|
_27.a = _3.c_block.c;
|
|
_27.b1.elem1 = _3.c_block.b2.elem2;
|
|
_27.b1_array[0].elem1 = _3.c_block.b2_array[0].elem2;
|
|
_27.b1_array[1].elem1 = _3.c_block.b2_array[1].elem2;
|
|
_27.b1_array[2].elem1 = _3.c_block.b2_array[2].elem2;
|
|
_27.b1_array[3].elem1 = _3.c_block.b2_array[3].elem2;
|
|
_3.a_block = _27;
|
|
}
|
|
|