1*c8dee2aaSAndroid Build Coastguard Workercbuffer _UniformBuffer : register(b0, space0) 2*c8dee2aaSAndroid Build Coastguard Worker{ 3*c8dee2aaSAndroid Build Coastguard Worker float4 _7_I : packoffset(c0); 4*c8dee2aaSAndroid Build Coastguard Worker float4 _7_N : packoffset(c1); 5*c8dee2aaSAndroid Build Coastguard Worker float4 _7_colorGreen : packoffset(c2); 6*c8dee2aaSAndroid Build Coastguard Worker float4 _7_colorRed : packoffset(c3); 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 Workerfloat spvReflect(float i, float n) 18*c8dee2aaSAndroid Build Coastguard Worker{ 19*c8dee2aaSAndroid Build Coastguard Worker return i - 2.0 * dot(n, i) * n; 20*c8dee2aaSAndroid Build Coastguard Worker} 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Workerfloat4 main(float2 _21) 23*c8dee2aaSAndroid Build Coastguard Worker{ 24*c8dee2aaSAndroid Build Coastguard Worker float expectedX = spvReflect(996878592.0f, -1.9999999580429535907214788975919e+34f); 25*c8dee2aaSAndroid Build Coastguard Worker expectedX = -49.0f; 26*c8dee2aaSAndroid Build Coastguard Worker float2 expectedXY = float2(-169.0f, 202.0f); 27*c8dee2aaSAndroid Build Coastguard Worker float3 expectedXYZ = float3(-379.0f, 454.0f, -529.0f); 28*c8dee2aaSAndroid Build Coastguard Worker float4 expectedXYZW = float4(-699.0f, 838.0f, -977.0f, 1116.0f); 29*c8dee2aaSAndroid Build Coastguard Worker bool _73 = false; 30*c8dee2aaSAndroid Build Coastguard Worker if (spvReflect(_7_I.x, _7_N.x) == (-49.0f)) 31*c8dee2aaSAndroid Build Coastguard Worker { 32*c8dee2aaSAndroid Build Coastguard Worker float2 _63 = reflect(_7_I.xy, _7_N.xy); 33*c8dee2aaSAndroid Build Coastguard Worker _73 = all(bool2(_63.x == float2(-169.0f, 202.0f).x, _63.y == float2(-169.0f, 202.0f).y)); 34*c8dee2aaSAndroid Build Coastguard Worker } 35*c8dee2aaSAndroid Build Coastguard Worker else 36*c8dee2aaSAndroid Build Coastguard Worker { 37*c8dee2aaSAndroid Build Coastguard Worker _73 = false; 38*c8dee2aaSAndroid Build Coastguard Worker } 39*c8dee2aaSAndroid Build Coastguard Worker bool _86 = false; 40*c8dee2aaSAndroid Build Coastguard Worker if (_73) 41*c8dee2aaSAndroid Build Coastguard Worker { 42*c8dee2aaSAndroid Build Coastguard Worker float3 _76 = reflect(_7_I.xyz, _7_N.xyz); 43*c8dee2aaSAndroid Build Coastguard Worker _86 = all(bool3(_76.x == float3(-379.0f, 454.0f, -529.0f).x, _76.y == float3(-379.0f, 454.0f, -529.0f).y, _76.z == float3(-379.0f, 454.0f, -529.0f).z)); 44*c8dee2aaSAndroid Build Coastguard Worker } 45*c8dee2aaSAndroid Build Coastguard Worker else 46*c8dee2aaSAndroid Build Coastguard Worker { 47*c8dee2aaSAndroid Build Coastguard Worker _86 = false; 48*c8dee2aaSAndroid Build Coastguard Worker } 49*c8dee2aaSAndroid Build Coastguard Worker bool _97 = false; 50*c8dee2aaSAndroid Build Coastguard Worker if (_86) 51*c8dee2aaSAndroid Build Coastguard Worker { 52*c8dee2aaSAndroid Build Coastguard Worker float4 _89 = reflect(_7_I, _7_N); 53*c8dee2aaSAndroid Build Coastguard Worker _97 = all(bool4(_89.x == float4(-699.0f, 838.0f, -977.0f, 1116.0f).x, _89.y == float4(-699.0f, 838.0f, -977.0f, 1116.0f).y, _89.z == float4(-699.0f, 838.0f, -977.0f, 1116.0f).z, _89.w == float4(-699.0f, 838.0f, -977.0f, 1116.0f).w)); 54*c8dee2aaSAndroid Build Coastguard Worker } 55*c8dee2aaSAndroid Build Coastguard Worker else 56*c8dee2aaSAndroid Build Coastguard Worker { 57*c8dee2aaSAndroid Build Coastguard Worker _97 = false; 58*c8dee2aaSAndroid Build Coastguard Worker } 59*c8dee2aaSAndroid Build Coastguard Worker bool _101 = false; 60*c8dee2aaSAndroid Build Coastguard Worker if (_97) 61*c8dee2aaSAndroid Build Coastguard Worker { 62*c8dee2aaSAndroid Build Coastguard Worker _101 = true; 63*c8dee2aaSAndroid Build Coastguard Worker } 64*c8dee2aaSAndroid Build Coastguard Worker else 65*c8dee2aaSAndroid Build Coastguard Worker { 66*c8dee2aaSAndroid Build Coastguard Worker _101 = false; 67*c8dee2aaSAndroid Build Coastguard Worker } 68*c8dee2aaSAndroid Build Coastguard Worker bool _104 = false; 69*c8dee2aaSAndroid Build Coastguard Worker if (_101) 70*c8dee2aaSAndroid Build Coastguard Worker { 71*c8dee2aaSAndroid Build Coastguard Worker _104 = true; 72*c8dee2aaSAndroid Build Coastguard Worker } 73*c8dee2aaSAndroid Build Coastguard Worker else 74*c8dee2aaSAndroid Build Coastguard Worker { 75*c8dee2aaSAndroid Build Coastguard Worker _104 = false; 76*c8dee2aaSAndroid Build Coastguard Worker } 77*c8dee2aaSAndroid Build Coastguard Worker bool _107 = false; 78*c8dee2aaSAndroid Build Coastguard Worker if (_104) 79*c8dee2aaSAndroid Build Coastguard Worker { 80*c8dee2aaSAndroid Build Coastguard Worker _107 = true; 81*c8dee2aaSAndroid Build Coastguard Worker } 82*c8dee2aaSAndroid Build Coastguard Worker else 83*c8dee2aaSAndroid Build Coastguard Worker { 84*c8dee2aaSAndroid Build Coastguard Worker _107 = false; 85*c8dee2aaSAndroid Build Coastguard Worker } 86*c8dee2aaSAndroid Build Coastguard Worker bool _110 = false; 87*c8dee2aaSAndroid Build Coastguard Worker if (_107) 88*c8dee2aaSAndroid Build Coastguard Worker { 89*c8dee2aaSAndroid Build Coastguard Worker _110 = true; 90*c8dee2aaSAndroid Build Coastguard Worker } 91*c8dee2aaSAndroid Build Coastguard Worker else 92*c8dee2aaSAndroid Build Coastguard Worker { 93*c8dee2aaSAndroid Build Coastguard Worker _110 = false; 94*c8dee2aaSAndroid Build Coastguard Worker } 95*c8dee2aaSAndroid Build Coastguard Worker float4 _111 = 0.0f.xxxx; 96*c8dee2aaSAndroid Build Coastguard Worker if (_110) 97*c8dee2aaSAndroid Build Coastguard Worker { 98*c8dee2aaSAndroid Build Coastguard Worker _111 = _7_colorGreen; 99*c8dee2aaSAndroid Build Coastguard Worker } 100*c8dee2aaSAndroid Build Coastguard Worker else 101*c8dee2aaSAndroid Build Coastguard Worker { 102*c8dee2aaSAndroid Build Coastguard Worker _111 = _7_colorRed; 103*c8dee2aaSAndroid Build Coastguard Worker } 104*c8dee2aaSAndroid Build Coastguard Worker return _111; 105*c8dee2aaSAndroid Build Coastguard Worker} 106*c8dee2aaSAndroid Build Coastguard Worker 107*c8dee2aaSAndroid Build Coastguard Workervoid frag_main() 108*c8dee2aaSAndroid Build Coastguard Worker{ 109*c8dee2aaSAndroid Build Coastguard Worker float2 _17 = 0.0f.xx; 110*c8dee2aaSAndroid Build Coastguard Worker sk_FragColor = main(_17); 111*c8dee2aaSAndroid Build Coastguard Worker} 112*c8dee2aaSAndroid Build Coastguard Worker 113*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main() 114*c8dee2aaSAndroid Build Coastguard Worker{ 115*c8dee2aaSAndroid Build Coastguard Worker frag_main(); 116*c8dee2aaSAndroid Build Coastguard Worker SPIRV_Cross_Output stage_output; 117*c8dee2aaSAndroid Build Coastguard Worker stage_output.sk_FragColor = sk_FragColor; 118*c8dee2aaSAndroid Build Coastguard Worker return stage_output; 119*c8dee2aaSAndroid Build Coastguard Worker} 120