1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0) 2*c8dee2aaSAndroid Build Coastguard Worker{ 3*c8dee2aaSAndroid Build Coastguard Worker float4 _16_colorWhite : packoffset(c0); 4*c8dee2aaSAndroid Build Coastguard Worker float4 _16_colorGreen : packoffset(c1); 5*c8dee2aaSAndroid Build Coastguard Worker float4 _16_colorRed : packoffset(c2); 6*c8dee2aaSAndroid Build Coastguard Worker row_major float2x2 _16_testMatrix2x2 : packoffset(c3); 7*c8dee2aaSAndroid Build Coastguard Worker row_major float3x3 _16_testMatrix3x3 : packoffset(c5); 8*c8dee2aaSAndroid Build Coastguard Worker row_major float4x4 _16_testMatrix4x4 : packoffset(c8); 9*c8dee2aaSAndroid Build Coastguard Worker}; 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerstatic float4 sk_FragColor; 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output 15*c8dee2aaSAndroid Build Coastguard Worker{ 16*c8dee2aaSAndroid Build Coastguard Worker float4 sk_FragColor : SV_Target0; 17*c8dee2aaSAndroid Build Coastguard Worker}; 18*c8dee2aaSAndroid Build Coastguard Worker 19*c8dee2aaSAndroid Build Coastguard Workerbool test_iscalar_b() 20*c8dee2aaSAndroid Build Coastguard Worker{ 21*c8dee2aaSAndroid Build Coastguard Worker int _44 = int(_16_colorWhite.x); 22*c8dee2aaSAndroid Build Coastguard Worker int x = _44; 23*c8dee2aaSAndroid Build Coastguard Worker int _45 = -_44; 24*c8dee2aaSAndroid Build Coastguard Worker x = _45; 25*c8dee2aaSAndroid Build Coastguard Worker return _45 == (-1); 26*c8dee2aaSAndroid Build Coastguard Worker} 27*c8dee2aaSAndroid Build Coastguard Worker 28*c8dee2aaSAndroid Build Coastguard Workerbool test_fvec_b() 29*c8dee2aaSAndroid Build Coastguard Worker{ 30*c8dee2aaSAndroid Build Coastguard Worker float2 x = _16_colorWhite.xy; 31*c8dee2aaSAndroid Build Coastguard Worker float2 _53 = -_16_colorWhite.xy; 32*c8dee2aaSAndroid Build Coastguard Worker x = _53; 33*c8dee2aaSAndroid Build Coastguard Worker return all(bool2(_53.x == (-1.0f).xx.x, _53.y == (-1.0f).xx.y)); 34*c8dee2aaSAndroid Build Coastguard Worker} 35*c8dee2aaSAndroid Build Coastguard Worker 36*c8dee2aaSAndroid Build Coastguard Workerbool test_ivec_b() 37*c8dee2aaSAndroid Build Coastguard Worker{ 38*c8dee2aaSAndroid Build Coastguard Worker int2 _67 = int(_16_colorWhite.x).xx; 39*c8dee2aaSAndroid Build Coastguard Worker int2 x = _67; 40*c8dee2aaSAndroid Build Coastguard Worker int2 _68 = -_67; 41*c8dee2aaSAndroid Build Coastguard Worker x = _68; 42*c8dee2aaSAndroid Build Coastguard Worker return all(bool2(_68.x == int2(-1, -1).x, _68.y == int2(-1, -1).y)); 43*c8dee2aaSAndroid Build Coastguard Worker} 44*c8dee2aaSAndroid Build Coastguard Worker 45*c8dee2aaSAndroid Build Coastguard Workerbool test_mat2_b() 46*c8dee2aaSAndroid Build Coastguard Worker{ 47*c8dee2aaSAndroid Build Coastguard Worker float2x2 negated = float2x2(float2(-1.0f, -2.0f), float2(-3.0f, -4.0f)); 48*c8dee2aaSAndroid Build Coastguard Worker float2x2 x = _16_testMatrix2x2; 49*c8dee2aaSAndroid Build Coastguard Worker float2 _87 = -_16_testMatrix2x2[0]; 50*c8dee2aaSAndroid Build Coastguard Worker float2 _89 = -_16_testMatrix2x2[1]; 51*c8dee2aaSAndroid Build Coastguard Worker x = float2x2(_87, _89); 52*c8dee2aaSAndroid Build Coastguard Worker return all(bool2(_87.x == float2(-1.0f, -2.0f).x, _87.y == float2(-1.0f, -2.0f).y)) && all(bool2(_89.x == float2(-3.0f, -4.0f).x, _89.y == float2(-3.0f, -4.0f).y)); 53*c8dee2aaSAndroid Build Coastguard Worker} 54*c8dee2aaSAndroid Build Coastguard Worker 55*c8dee2aaSAndroid Build Coastguard Workerbool test_mat3_b() 56*c8dee2aaSAndroid Build Coastguard Worker{ 57*c8dee2aaSAndroid Build Coastguard Worker float3x3 negated = float3x3(float3(-1.0f, -2.0f, -3.0f), float3(-4.0f, -5.0f, -6.0f), float3(-7.0f, -8.0f, -9.0f)); 58*c8dee2aaSAndroid Build Coastguard Worker float3x3 x = _16_testMatrix3x3; 59*c8dee2aaSAndroid Build Coastguard Worker float3 _114 = -_16_testMatrix3x3[0]; 60*c8dee2aaSAndroid Build Coastguard Worker float3 _116 = -_16_testMatrix3x3[1]; 61*c8dee2aaSAndroid Build Coastguard Worker float3 _118 = -_16_testMatrix3x3[2]; 62*c8dee2aaSAndroid Build Coastguard Worker x = float3x3(_114, _116, _118); 63*c8dee2aaSAndroid Build Coastguard Worker return (all(bool3(_114.x == float3(-1.0f, -2.0f, -3.0f).x, _114.y == float3(-1.0f, -2.0f, -3.0f).y, _114.z == float3(-1.0f, -2.0f, -3.0f).z)) && all(bool3(_116.x == float3(-4.0f, -5.0f, -6.0f).x, _116.y == float3(-4.0f, -5.0f, -6.0f).y, _116.z == float3(-4.0f, -5.0f, -6.0f).z))) && all(bool3(_118.x == float3(-7.0f, -8.0f, -9.0f).x, _118.y == float3(-7.0f, -8.0f, -9.0f).y, _118.z == float3(-7.0f, -8.0f, -9.0f).z)); 64*c8dee2aaSAndroid Build Coastguard Worker} 65*c8dee2aaSAndroid Build Coastguard Worker 66*c8dee2aaSAndroid Build Coastguard Workerbool test_mat4_b() 67*c8dee2aaSAndroid Build Coastguard Worker{ 68*c8dee2aaSAndroid Build Coastguard Worker float4x4 negated = float4x4(float4(-1.0f, -2.0f, -3.0f, -4.0f), float4(-5.0f, -6.0f, -7.0f, -8.0f), float4(-9.0f, -10.0f, -11.0f, -12.0f), float4(-13.0f, -14.0f, -15.0f, -16.0f)); 69*c8dee2aaSAndroid Build Coastguard Worker float4x4 x = _16_testMatrix4x4; 70*c8dee2aaSAndroid Build Coastguard Worker float4 _150 = -_16_testMatrix4x4[0]; 71*c8dee2aaSAndroid Build Coastguard Worker float4 _152 = -_16_testMatrix4x4[1]; 72*c8dee2aaSAndroid Build Coastguard Worker float4 _154 = -_16_testMatrix4x4[2]; 73*c8dee2aaSAndroid Build Coastguard Worker float4 _156 = -_16_testMatrix4x4[3]; 74*c8dee2aaSAndroid Build Coastguard Worker x = float4x4(_150, _152, _154, _156); 75*c8dee2aaSAndroid Build Coastguard Worker return ((all(bool4(_150.x == float4(-1.0f, -2.0f, -3.0f, -4.0f).x, _150.y == float4(-1.0f, -2.0f, -3.0f, -4.0f).y, _150.z == float4(-1.0f, -2.0f, -3.0f, -4.0f).z, _150.w == float4(-1.0f, -2.0f, -3.0f, -4.0f).w)) && all(bool4(_152.x == float4(-5.0f, -6.0f, -7.0f, -8.0f).x, _152.y == float4(-5.0f, -6.0f, -7.0f, -8.0f).y, _152.z == float4(-5.0f, -6.0f, -7.0f, -8.0f).z, _152.w == float4(-5.0f, -6.0f, -7.0f, -8.0f).w))) && all(bool4(_154.x == float4(-9.0f, -10.0f, -11.0f, -12.0f).x, _154.y == float4(-9.0f, -10.0f, -11.0f, -12.0f).y, _154.z == float4(-9.0f, -10.0f, -11.0f, -12.0f).z, _154.w == float4(-9.0f, -10.0f, -11.0f, -12.0f).w))) && all(bool4(_156.x == float4(-13.0f, -14.0f, -15.0f, -16.0f).x, _156.y == float4(-13.0f, -14.0f, -15.0f, -16.0f).y, _156.z == float4(-13.0f, -14.0f, -15.0f, -16.0f).z, _156.w == float4(-13.0f, -14.0f, -15.0f, -16.0f).w)); 76*c8dee2aaSAndroid Build Coastguard Worker} 77*c8dee2aaSAndroid Build Coastguard Worker 78*c8dee2aaSAndroid Build Coastguard Workerbool test_hmat2_b() 79*c8dee2aaSAndroid Build Coastguard Worker{ 80*c8dee2aaSAndroid Build Coastguard Worker float2x2 negated = float2x2(float2(-1.0f, -2.0f), float2(-3.0f, -4.0f)); 81*c8dee2aaSAndroid Build Coastguard Worker float2x2 x = _16_testMatrix2x2; 82*c8dee2aaSAndroid Build Coastguard Worker float2 _176 = -_16_testMatrix2x2[0]; 83*c8dee2aaSAndroid Build Coastguard Worker float2 _178 = -_16_testMatrix2x2[1]; 84*c8dee2aaSAndroid Build Coastguard Worker x = float2x2(_176, _178); 85*c8dee2aaSAndroid Build Coastguard Worker return all(bool2(_176.x == float2(-1.0f, -2.0f).x, _176.y == float2(-1.0f, -2.0f).y)) && all(bool2(_178.x == float2(-3.0f, -4.0f).x, _178.y == float2(-3.0f, -4.0f).y)); 86*c8dee2aaSAndroid Build Coastguard Worker} 87*c8dee2aaSAndroid Build Coastguard Worker 88*c8dee2aaSAndroid Build Coastguard Workerbool test_hmat3_b() 89*c8dee2aaSAndroid Build Coastguard Worker{ 90*c8dee2aaSAndroid Build Coastguard Worker float3x3 negated = float3x3(float3(-1.0f, -2.0f, -3.0f), float3(-4.0f, -5.0f, -6.0f), float3(-7.0f, -8.0f, -9.0f)); 91*c8dee2aaSAndroid Build Coastguard Worker float3x3 x = _16_testMatrix3x3; 92*c8dee2aaSAndroid Build Coastguard Worker float3 _191 = -_16_testMatrix3x3[0]; 93*c8dee2aaSAndroid Build Coastguard Worker float3 _193 = -_16_testMatrix3x3[1]; 94*c8dee2aaSAndroid Build Coastguard Worker float3 _195 = -_16_testMatrix3x3[2]; 95*c8dee2aaSAndroid Build Coastguard Worker x = float3x3(_191, _193, _195); 96*c8dee2aaSAndroid Build Coastguard Worker return (all(bool3(_191.x == float3(-1.0f, -2.0f, -3.0f).x, _191.y == float3(-1.0f, -2.0f, -3.0f).y, _191.z == float3(-1.0f, -2.0f, -3.0f).z)) && all(bool3(_193.x == float3(-4.0f, -5.0f, -6.0f).x, _193.y == float3(-4.0f, -5.0f, -6.0f).y, _193.z == float3(-4.0f, -5.0f, -6.0f).z))) && all(bool3(_195.x == float3(-7.0f, -8.0f, -9.0f).x, _195.y == float3(-7.0f, -8.0f, -9.0f).y, _195.z == float3(-7.0f, -8.0f, -9.0f).z)); 97*c8dee2aaSAndroid Build Coastguard Worker} 98*c8dee2aaSAndroid Build Coastguard Worker 99*c8dee2aaSAndroid Build Coastguard Workerbool test_hmat4_b() 100*c8dee2aaSAndroid Build Coastguard Worker{ 101*c8dee2aaSAndroid Build Coastguard Worker float4x4 negated = float4x4(float4(-1.0f, -2.0f, -3.0f, -4.0f), float4(-5.0f, -6.0f, -7.0f, -8.0f), float4(-9.0f, -10.0f, -11.0f, -12.0f), float4(-13.0f, -14.0f, -15.0f, -16.0f)); 102*c8dee2aaSAndroid Build Coastguard Worker float4x4 x = _16_testMatrix4x4; 103*c8dee2aaSAndroid Build Coastguard Worker float4 _211 = -_16_testMatrix4x4[0]; 104*c8dee2aaSAndroid Build Coastguard Worker float4 _213 = -_16_testMatrix4x4[1]; 105*c8dee2aaSAndroid Build Coastguard Worker float4 _215 = -_16_testMatrix4x4[2]; 106*c8dee2aaSAndroid Build Coastguard Worker float4 _217 = -_16_testMatrix4x4[3]; 107*c8dee2aaSAndroid Build Coastguard Worker x = float4x4(_211, _213, _215, _217); 108*c8dee2aaSAndroid Build Coastguard Worker return ((all(bool4(_211.x == float4(-1.0f, -2.0f, -3.0f, -4.0f).x, _211.y == float4(-1.0f, -2.0f, -3.0f, -4.0f).y, _211.z == float4(-1.0f, -2.0f, -3.0f, -4.0f).z, _211.w == float4(-1.0f, -2.0f, -3.0f, -4.0f).w)) && all(bool4(_213.x == float4(-5.0f, -6.0f, -7.0f, -8.0f).x, _213.y == float4(-5.0f, -6.0f, -7.0f, -8.0f).y, _213.z == float4(-5.0f, -6.0f, -7.0f, -8.0f).z, _213.w == float4(-5.0f, -6.0f, -7.0f, -8.0f).w))) && all(bool4(_215.x == float4(-9.0f, -10.0f, -11.0f, -12.0f).x, _215.y == float4(-9.0f, -10.0f, -11.0f, -12.0f).y, _215.z == float4(-9.0f, -10.0f, -11.0f, -12.0f).z, _215.w == float4(-9.0f, -10.0f, -11.0f, -12.0f).w))) && all(bool4(_217.x == float4(-13.0f, -14.0f, -15.0f, -16.0f).x, _217.y == float4(-13.0f, -14.0f, -15.0f, -16.0f).y, _217.z == float4(-13.0f, -14.0f, -15.0f, -16.0f).z, _217.w == float4(-13.0f, -14.0f, -15.0f, -16.0f).w)); 109*c8dee2aaSAndroid Build Coastguard Worker} 110*c8dee2aaSAndroid Build Coastguard Worker 111*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _231) 112*c8dee2aaSAndroid Build Coastguard Worker{ 113*c8dee2aaSAndroid Build Coastguard Worker float _RESERVED_IDENTIFIER_FIXUP_0_x = _16_colorWhite.x; 114*c8dee2aaSAndroid Build Coastguard Worker float _238 = -_16_colorWhite.x; 115*c8dee2aaSAndroid Build Coastguard Worker _RESERVED_IDENTIFIER_FIXUP_0_x = _238; 116*c8dee2aaSAndroid Build Coastguard Worker bool _244 = false; 117*c8dee2aaSAndroid Build Coastguard Worker if (_238 == (-1.0f)) 118*c8dee2aaSAndroid Build Coastguard Worker { 119*c8dee2aaSAndroid Build Coastguard Worker _244 = test_iscalar_b(); 120*c8dee2aaSAndroid Build Coastguard Worker } 121*c8dee2aaSAndroid Build Coastguard Worker else 122*c8dee2aaSAndroid Build Coastguard Worker { 123*c8dee2aaSAndroid Build Coastguard Worker _244 = false; 124*c8dee2aaSAndroid Build Coastguard Worker } 125*c8dee2aaSAndroid Build Coastguard Worker bool _248 = false; 126*c8dee2aaSAndroid Build Coastguard Worker if (_244) 127*c8dee2aaSAndroid Build Coastguard Worker { 128*c8dee2aaSAndroid Build Coastguard Worker _248 = test_fvec_b(); 129*c8dee2aaSAndroid Build Coastguard Worker } 130*c8dee2aaSAndroid Build Coastguard Worker else 131*c8dee2aaSAndroid Build Coastguard Worker { 132*c8dee2aaSAndroid Build Coastguard Worker _248 = false; 133*c8dee2aaSAndroid Build Coastguard Worker } 134*c8dee2aaSAndroid Build Coastguard Worker bool _252 = false; 135*c8dee2aaSAndroid Build Coastguard Worker if (_248) 136*c8dee2aaSAndroid Build Coastguard Worker { 137*c8dee2aaSAndroid Build Coastguard Worker _252 = test_ivec_b(); 138*c8dee2aaSAndroid Build Coastguard Worker } 139*c8dee2aaSAndroid Build Coastguard Worker else 140*c8dee2aaSAndroid Build Coastguard Worker { 141*c8dee2aaSAndroid Build Coastguard Worker _252 = false; 142*c8dee2aaSAndroid Build Coastguard Worker } 143*c8dee2aaSAndroid Build Coastguard Worker bool _256 = false; 144*c8dee2aaSAndroid Build Coastguard Worker if (_252) 145*c8dee2aaSAndroid Build Coastguard Worker { 146*c8dee2aaSAndroid Build Coastguard Worker _256 = test_mat2_b(); 147*c8dee2aaSAndroid Build Coastguard Worker } 148*c8dee2aaSAndroid Build Coastguard Worker else 149*c8dee2aaSAndroid Build Coastguard Worker { 150*c8dee2aaSAndroid Build Coastguard Worker _256 = false; 151*c8dee2aaSAndroid Build Coastguard Worker } 152*c8dee2aaSAndroid Build Coastguard Worker bool _260 = false; 153*c8dee2aaSAndroid Build Coastguard Worker if (_256) 154*c8dee2aaSAndroid Build Coastguard Worker { 155*c8dee2aaSAndroid Build Coastguard Worker _260 = test_mat3_b(); 156*c8dee2aaSAndroid Build Coastguard Worker } 157*c8dee2aaSAndroid Build Coastguard Worker else 158*c8dee2aaSAndroid Build Coastguard Worker { 159*c8dee2aaSAndroid Build Coastguard Worker _260 = false; 160*c8dee2aaSAndroid Build Coastguard Worker } 161*c8dee2aaSAndroid Build Coastguard Worker bool _264 = false; 162*c8dee2aaSAndroid Build Coastguard Worker if (_260) 163*c8dee2aaSAndroid Build Coastguard Worker { 164*c8dee2aaSAndroid Build Coastguard Worker _264 = test_mat4_b(); 165*c8dee2aaSAndroid Build Coastguard Worker } 166*c8dee2aaSAndroid Build Coastguard Worker else 167*c8dee2aaSAndroid Build Coastguard Worker { 168*c8dee2aaSAndroid Build Coastguard Worker _264 = false; 169*c8dee2aaSAndroid Build Coastguard Worker } 170*c8dee2aaSAndroid Build Coastguard Worker bool _268 = false; 171*c8dee2aaSAndroid Build Coastguard Worker if (_264) 172*c8dee2aaSAndroid Build Coastguard Worker { 173*c8dee2aaSAndroid Build Coastguard Worker _268 = test_hmat2_b(); 174*c8dee2aaSAndroid Build Coastguard Worker } 175*c8dee2aaSAndroid Build Coastguard Worker else 176*c8dee2aaSAndroid Build Coastguard Worker { 177*c8dee2aaSAndroid Build Coastguard Worker _268 = false; 178*c8dee2aaSAndroid Build Coastguard Worker } 179*c8dee2aaSAndroid Build Coastguard Worker bool _272 = false; 180*c8dee2aaSAndroid Build Coastguard Worker if (_268) 181*c8dee2aaSAndroid Build Coastguard Worker { 182*c8dee2aaSAndroid Build Coastguard Worker _272 = test_hmat3_b(); 183*c8dee2aaSAndroid Build Coastguard Worker } 184*c8dee2aaSAndroid Build Coastguard Worker else 185*c8dee2aaSAndroid Build Coastguard Worker { 186*c8dee2aaSAndroid Build Coastguard Worker _272 = false; 187*c8dee2aaSAndroid Build Coastguard Worker } 188*c8dee2aaSAndroid Build Coastguard Worker bool _276 = false; 189*c8dee2aaSAndroid Build Coastguard Worker if (_272) 190*c8dee2aaSAndroid Build Coastguard Worker { 191*c8dee2aaSAndroid Build Coastguard Worker _276 = test_hmat4_b(); 192*c8dee2aaSAndroid Build Coastguard Worker } 193*c8dee2aaSAndroid Build Coastguard Worker else 194*c8dee2aaSAndroid Build Coastguard Worker { 195*c8dee2aaSAndroid Build Coastguard Worker _276 = false; 196*c8dee2aaSAndroid Build Coastguard Worker } 197*c8dee2aaSAndroid Build Coastguard Worker float4 _277 = 0.0f.xxxx; 198*c8dee2aaSAndroid Build Coastguard Worker if (_276) 199*c8dee2aaSAndroid Build Coastguard Worker { 200*c8dee2aaSAndroid Build Coastguard Worker _277 = _16_colorGreen; 201*c8dee2aaSAndroid Build Coastguard Worker } 202*c8dee2aaSAndroid Build Coastguard Worker else 203*c8dee2aaSAndroid Build Coastguard Worker { 204*c8dee2aaSAndroid Build Coastguard Worker _277 = _16_colorRed; 205*c8dee2aaSAndroid Build Coastguard Worker } 206*c8dee2aaSAndroid Build Coastguard Worker return _277; 207*c8dee2aaSAndroid Build Coastguard Worker} 208*c8dee2aaSAndroid Build Coastguard Worker 209*c8dee2aaSAndroid Build Coastguard Workervoid frag_main() 210*c8dee2aaSAndroid Build Coastguard Worker{ 211*c8dee2aaSAndroid Build Coastguard Worker float2 _30 = 0.0f.xx; 212*c8dee2aaSAndroid Build Coastguard Worker sk_FragColor = main(_30); 213*c8dee2aaSAndroid Build Coastguard Worker} 214*c8dee2aaSAndroid Build Coastguard Worker 215*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main() 216*c8dee2aaSAndroid Build Coastguard Worker{ 217*c8dee2aaSAndroid Build Coastguard Worker frag_main(); 218*c8dee2aaSAndroid Build Coastguard Worker SPIRV_Cross_Output stage_output; 219*c8dee2aaSAndroid Build Coastguard Worker stage_output.sk_FragColor = sk_FragColor; 220*c8dee2aaSAndroid Build Coastguard Worker return stage_output; 221*c8dee2aaSAndroid Build Coastguard Worker} 222