SPIRV-Cross/reference/shaders-msl-no-opt/asm/comp/copy-logical-2.spv14.asm.comp
2020-01-06 12:44:18 +01:00

61 lines
876 B
Plaintext

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct _11
{
float2x2 _m0;
};
struct _12
{
float2x4 _m0;
};
struct B2
{
float4 elem2;
};
struct C
{
float4 c;
B2 b2;
B2 b2_array[4];
_12 _m3;
};
struct B1
{
float4 elem1;
};
struct A
{
float4 a;
B1 b1;
B1 b1_array[4];
_11 _m3;
};
struct _8
{
A a_block;
C c_block;
};
kernel void main0(device _8& _3 [[buffer(0)]])
{
A _31;
_31.a = _3.c_block.c;
_31.b1.elem1 = _3.c_block.b2.elem2;
_31.b1_array[0].elem1 = _3.c_block.b2_array[0].elem2;
_31.b1_array[1].elem1 = _3.c_block.b2_array[1].elem2;
_31.b1_array[2].elem1 = _3.c_block.b2_array[2].elem2;
_31.b1_array[3].elem1 = _3.c_block.b2_array[3].elem2;
_31._m3._m0 = transpose(float2x2(_3.c_block._m3._m0[0].xy, _3.c_block._m3._m0[1].xy));
_3.a_block = _31;
}