#include #include using namespace metal; struct SSBO; struct UBO { uint2 b; }; struct SSBO { packed_float3 a1; float a2; }; kernel void main0(constant UBO& _10 [[buffer(0)]]) { (reinterpret_cast(as_type(_10.b)))->a1 = float3(1.0, 2.0, 3.0); uint2 v2 = as_type(reinterpret_cast(reinterpret_cast(as_type(_10.b + uint2(32u))))); float3 v3 = float3((reinterpret_cast(as_type(v2)))->a1); (reinterpret_cast(as_type(v2)))->a1 = v3 + float3(1.0); }