1struct InnerLUT 2{ 3 float3 values; 4}; 5 6struct OuterLUT 7{ 8 InnerLUT inner[3]; 9}; 10 11struct Root 12{ 13 int valueAtRoot; 14 OuterLUT outer[3]; 15}; 16 17cbuffer _UniformBuffer : register(b0, space0) 18{ 19 float4 _7_colorGreen : packoffset(c0); 20 float4 _7_colorRed : packoffset(c1); 21}; 22 23 24static float4 sk_FragColor; 25 26struct SPIRV_Cross_Output 27{ 28 float4 sk_FragColor : SV_Target0; 29}; 30 31float4 main(float2 _21) 32{ 33 Root data = { 0, { { { { 0.0f.xxx }, { 0.0f.xxx }, { 0.0f.xxx } } }, { { { 0.0f.xxx }, { 0.0f.xxx }, { 0.0f.xxx } } }, { { { 0.0f.xxx }, { 0.0f.xxx }, { 0.0f.xxx } } } } }; 34 data.valueAtRoot = 1234; 35 float3 values = 0.0f.xxx; 36 for (int i = 0; i < 3; i++) 37 { 38 for (int j = 0; j < 3; j++) 39 { 40 values += float3(1.0f, 10.0f, 100.0f); 41 for (int k = 0; k < 3; k++) 42 { 43 data.outer[i].inner[j].values[k] = values[k]; 44 } 45 } 46 } 47 bool _99 = false; 48 if (data.valueAtRoot == 1234) 49 { 50 _99 = all(bool3(data.outer[0].inner[0].values.x == float3(1.0f, 10.0f, 100.0f).x, data.outer[0].inner[0].values.y == float3(1.0f, 10.0f, 100.0f).y, data.outer[0].inner[0].values.z == float3(1.0f, 10.0f, 100.0f).z)); 51 } 52 else 53 { 54 _99 = false; 55 } 56 bool _110 = false; 57 if (_99) 58 { 59 _110 = all(bool3(data.outer[0].inner[1].values.x == float3(2.0f, 20.0f, 200.0f).x, data.outer[0].inner[1].values.y == float3(2.0f, 20.0f, 200.0f).y, data.outer[0].inner[1].values.z == float3(2.0f, 20.0f, 200.0f).z)); 60 } 61 else 62 { 63 _110 = false; 64 } 65 bool _122 = false; 66 if (_110) 67 { 68 _122 = all(bool3(data.outer[0].inner[2].values.x == float3(3.0f, 30.0f, 300.0f).x, data.outer[0].inner[2].values.y == float3(3.0f, 30.0f, 300.0f).y, data.outer[0].inner[2].values.z == float3(3.0f, 30.0f, 300.0f).z)); 69 } 70 else 71 { 72 _122 = false; 73 } 74 bool _133 = false; 75 if (_122) 76 { 77 _133 = all(bool3(data.outer[1].inner[0].values.x == float3(4.0f, 40.0f, 400.0f).x, data.outer[1].inner[0].values.y == float3(4.0f, 40.0f, 400.0f).y, data.outer[1].inner[0].values.z == float3(4.0f, 40.0f, 400.0f).z)); 78 } 79 else 80 { 81 _133 = false; 82 } 83 bool _144 = false; 84 if (_133) 85 { 86 _144 = all(bool3(data.outer[1].inner[1].values.x == float3(5.0f, 50.0f, 500.0f).x, data.outer[1].inner[1].values.y == float3(5.0f, 50.0f, 500.0f).y, data.outer[1].inner[1].values.z == float3(5.0f, 50.0f, 500.0f).z)); 87 } 88 else 89 { 90 _144 = false; 91 } 92 bool _155 = false; 93 if (_144) 94 { 95 _155 = all(bool3(data.outer[1].inner[2].values.x == float3(6.0f, 60.0f, 600.0f).x, data.outer[1].inner[2].values.y == float3(6.0f, 60.0f, 600.0f).y, data.outer[1].inner[2].values.z == float3(6.0f, 60.0f, 600.0f).z)); 96 } 97 else 98 { 99 _155 = false; 100 } 101 bool _166 = false; 102 if (_155) 103 { 104 _166 = all(bool3(data.outer[2].inner[0].values.x == float3(7.0f, 70.0f, 700.0f).x, data.outer[2].inner[0].values.y == float3(7.0f, 70.0f, 700.0f).y, data.outer[2].inner[0].values.z == float3(7.0f, 70.0f, 700.0f).z)); 105 } 106 else 107 { 108 _166 = false; 109 } 110 bool _177 = false; 111 if (_166) 112 { 113 _177 = all(bool3(data.outer[2].inner[1].values.x == float3(8.0f, 80.0f, 800.0f).x, data.outer[2].inner[1].values.y == float3(8.0f, 80.0f, 800.0f).y, data.outer[2].inner[1].values.z == float3(8.0f, 80.0f, 800.0f).z)); 114 } 115 else 116 { 117 _177 = false; 118 } 119 bool _188 = false; 120 if (_177) 121 { 122 _188 = all(bool3(data.outer[2].inner[2].values.x == float3(9.0f, 90.0f, 900.0f).x, data.outer[2].inner[2].values.y == float3(9.0f, 90.0f, 900.0f).y, data.outer[2].inner[2].values.z == float3(9.0f, 90.0f, 900.0f).z)); 123 } 124 else 125 { 126 _188 = false; 127 } 128 bool ok = _188; 129 float4 _189 = 0.0f.xxxx; 130 if (_188) 131 { 132 _189 = _7_colorGreen; 133 } 134 else 135 { 136 _189 = _7_colorRed; 137 } 138 return _189; 139} 140 141void frag_main() 142{ 143 float2 _17 = 0.0f.xx; 144 sk_FragColor = main(_17); 145} 146 147SPIRV_Cross_Output main() 148{ 149 frag_main(); 150 SPIRV_Cross_Output stage_output; 151 stage_output.sk_FragColor = sk_FragColor; 152 return stage_output; 153} 154