1*c8dee2aaSAndroid Build Coastguard Worker#include <metal_stdlib> 2*c8dee2aaSAndroid Build Coastguard Worker#include <simd/simd.h> 3*c8dee2aaSAndroid Build Coastguard Worker#ifdef __clang__ 4*c8dee2aaSAndroid Build Coastguard Worker#pragma clang diagnostic ignored "-Wall" 5*c8dee2aaSAndroid Build Coastguard Worker#endif 6*c8dee2aaSAndroid Build Coastguard Workerusing namespace metal; 7*c8dee2aaSAndroid Build Coastguard Workerstruct Uniforms { 8*c8dee2aaSAndroid Build Coastguard Worker half4 I; 9*c8dee2aaSAndroid Build Coastguard Worker half4 N; 10*c8dee2aaSAndroid Build Coastguard Worker half4 colorGreen; 11*c8dee2aaSAndroid Build Coastguard Worker half4 colorRed; 12*c8dee2aaSAndroid Build Coastguard Worker}; 13*c8dee2aaSAndroid Build Coastguard Workerstruct Inputs { 14*c8dee2aaSAndroid Build Coastguard Worker}; 15*c8dee2aaSAndroid Build Coastguard Workerstruct Outputs { 16*c8dee2aaSAndroid Build Coastguard Worker half4 sk_FragColor [[color(0)]]; 17*c8dee2aaSAndroid Build Coastguard Worker}; 18*c8dee2aaSAndroid Build Coastguard Workerfragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 19*c8dee2aaSAndroid Build Coastguard Worker Outputs _out; 20*c8dee2aaSAndroid Build Coastguard Worker (void)_out; 21*c8dee2aaSAndroid Build Coastguard Worker half _skTemp0; 22*c8dee2aaSAndroid Build Coastguard Worker half _skTemp1; 23*c8dee2aaSAndroid Build Coastguard Worker half _skTemp2; 24*c8dee2aaSAndroid Build Coastguard Worker half _skTemp3; 25*c8dee2aaSAndroid Build Coastguard Worker half expectedX = (_skTemp0 = 9.968786e+08h, _skTemp1 = -2e+34h, _skTemp0 - 2 * _skTemp1 * _skTemp0 * _skTemp1); 26*c8dee2aaSAndroid Build Coastguard Worker expectedX = -49.0h; 27*c8dee2aaSAndroid Build Coastguard Worker half2 expectedXY = half2(-169.0h, 202.0h); 28*c8dee2aaSAndroid Build Coastguard Worker half3 expectedXYZ = half3(-379.0h, 454.0h, -529.0h); 29*c8dee2aaSAndroid Build Coastguard Worker half4 expectedXYZW = half4(-699.0h, 838.0h, -977.0h, 1116.0h); 30*c8dee2aaSAndroid Build Coastguard Worker _out.sk_FragColor = (((((((_skTemp2 = _uniforms.I.x, _skTemp3 = _uniforms.N.x, _skTemp2 - 2 * _skTemp3 * _skTemp2 * _skTemp3) == expectedX && all(reflect(_uniforms.I.xy, _uniforms.N.xy) == expectedXY)) && all(reflect(_uniforms.I.xyz, _uniforms.N.xyz) == expectedXYZ)) && all(reflect(_uniforms.I, _uniforms.N) == expectedXYZW)) && -49.0h == expectedX) && all(half2(-169.0h, 202.0h) == expectedXY)) && all(half3(-379.0h, 454.0h, -529.0h) == expectedXYZ)) && all(half4(-699.0h, 838.0h, -977.0h, 1116.0h) == expectedXYZW) ? _uniforms.colorGreen : _uniforms.colorRed; 31*c8dee2aaSAndroid Build Coastguard Worker return _out; 32*c8dee2aaSAndroid Build Coastguard Worker} 33