1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0) 2*c8dee2aaSAndroid Build Coastguard Worker{ 3*c8dee2aaSAndroid Build Coastguard Worker float4 _9_colorGreen : packoffset(c0); 4*c8dee2aaSAndroid Build Coastguard Worker float4 _9_colorRed : packoffset(c1); 5*c8dee2aaSAndroid Build Coastguard Worker row_major float3x3 _9_testMatrix3x3 : packoffset(c2); 6*c8dee2aaSAndroid Build Coastguard Worker row_major float4x4 _9_testMatrix4x4 : packoffset(c5); 7*c8dee2aaSAndroid Build Coastguard Worker}; 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor; 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output 13*c8dee2aaSAndroid Build Coastguard Worker{ 14*c8dee2aaSAndroid Build Coastguard Worker float4 sk_FragColor : SV_Target0; 15*c8dee2aaSAndroid Build Coastguard Worker}; 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Workerbool test3x3_b() 18*c8dee2aaSAndroid Build Coastguard Worker{ 19*c8dee2aaSAndroid Build Coastguard Worker float3 expected = float3(3.0f, 2.0f, 1.0f); 20*c8dee2aaSAndroid Build Coastguard Worker for (int c = 0; c < 3; c++) 21*c8dee2aaSAndroid Build Coastguard Worker { 22*c8dee2aaSAndroid Build Coastguard Worker float3 vec = _9_testMatrix3x3[c]; 23*c8dee2aaSAndroid Build Coastguard Worker for (int r = 0; r < 3; r++) 24*c8dee2aaSAndroid Build Coastguard Worker { 25*c8dee2aaSAndroid Build Coastguard Worker if (vec.zyx[r] != expected[r]) 26*c8dee2aaSAndroid Build Coastguard Worker { 27*c8dee2aaSAndroid Build Coastguard Worker return false; 28*c8dee2aaSAndroid Build Coastguard Worker } 29*c8dee2aaSAndroid Build Coastguard Worker } 30*c8dee2aaSAndroid Build Coastguard Worker expected += 3.0f.xxx; 31*c8dee2aaSAndroid Build Coastguard Worker } 32*c8dee2aaSAndroid Build Coastguard Worker return true; 33*c8dee2aaSAndroid Build Coastguard Worker} 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard Workerbool test4x4_b() 36*c8dee2aaSAndroid Build Coastguard Worker{ 37*c8dee2aaSAndroid Build Coastguard Worker float4 expected = float4(4.0f, 3.0f, 2.0f, 1.0f); 38*c8dee2aaSAndroid Build Coastguard Worker for (int c = 0; c < 4; c++) 39*c8dee2aaSAndroid Build Coastguard Worker { 40*c8dee2aaSAndroid Build Coastguard Worker float4 vec = _9_testMatrix4x4[c]; 41*c8dee2aaSAndroid Build Coastguard Worker for (int r = 0; r < 4; r++) 42*c8dee2aaSAndroid Build Coastguard Worker { 43*c8dee2aaSAndroid Build Coastguard Worker if (vec.wzyx[r] != expected[r]) 44*c8dee2aaSAndroid Build Coastguard Worker { 45*c8dee2aaSAndroid Build Coastguard Worker return false; 46*c8dee2aaSAndroid Build Coastguard Worker } 47*c8dee2aaSAndroid Build Coastguard Worker } 48*c8dee2aaSAndroid Build Coastguard Worker expected += 4.0f.xxxx; 49*c8dee2aaSAndroid Build Coastguard Worker } 50*c8dee2aaSAndroid Build Coastguard Worker return true; 51*c8dee2aaSAndroid Build Coastguard Worker} 52*c8dee2aaSAndroid Build Coastguard Worker 53*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _129) 54*c8dee2aaSAndroid Build Coastguard Worker{ 55*c8dee2aaSAndroid Build Coastguard Worker bool _135 = false; 56*c8dee2aaSAndroid Build Coastguard Worker if (test3x3_b()) 57*c8dee2aaSAndroid Build Coastguard Worker { 58*c8dee2aaSAndroid Build Coastguard Worker _135 = test4x4_b(); 59*c8dee2aaSAndroid Build Coastguard Worker } 60*c8dee2aaSAndroid Build Coastguard Worker else 61*c8dee2aaSAndroid Build Coastguard Worker { 62*c8dee2aaSAndroid Build Coastguard Worker _135 = false; 63*c8dee2aaSAndroid Build Coastguard Worker } 64*c8dee2aaSAndroid Build Coastguard Worker float4 _136 = 0.0f.xxxx; 65*c8dee2aaSAndroid Build Coastguard Worker if (_135) 66*c8dee2aaSAndroid Build Coastguard Worker { 67*c8dee2aaSAndroid Build Coastguard Worker _136 = _9_colorGreen; 68*c8dee2aaSAndroid Build Coastguard Worker } 69*c8dee2aaSAndroid Build Coastguard Worker else 70*c8dee2aaSAndroid Build Coastguard Worker { 71*c8dee2aaSAndroid Build Coastguard Worker _136 = _9_colorRed; 72*c8dee2aaSAndroid Build Coastguard Worker } 73*c8dee2aaSAndroid Build Coastguard Worker return _136; 74*c8dee2aaSAndroid Build Coastguard Worker} 75*c8dee2aaSAndroid Build Coastguard Worker 76*c8dee2aaSAndroid Build Coastguard Workervoid frag_main() 77*c8dee2aaSAndroid Build Coastguard Worker{ 78*c8dee2aaSAndroid Build Coastguard Worker float2 _22 = 0.0f.xx; 79*c8dee2aaSAndroid Build Coastguard Worker sk_FragColor = main(_22); 80*c8dee2aaSAndroid Build Coastguard Worker} 81*c8dee2aaSAndroid Build Coastguard Worker 82*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main() 83*c8dee2aaSAndroid Build Coastguard Worker{ 84*c8dee2aaSAndroid Build Coastguard Worker frag_main(); 85*c8dee2aaSAndroid Build Coastguard Worker SPIRV_Cross_Output stage_output; 86*c8dee2aaSAndroid Build Coastguard Worker stage_output.sk_FragColor = sk_FragColor; 87*c8dee2aaSAndroid Build Coastguard Worker return stage_output; 88*c8dee2aaSAndroid Build Coastguard Worker} 89