1#include <metal_stdlib> 2#include <simd/simd.h> 3using namespace metal; 4struct Uniforms { 5 float4 colorGreen; 6 float4 colorRed; 7}; 8struct Inputs { 9}; 10struct Outputs { 11 float4 sk_FragColor [[color(0)]]; 12}; 13 14fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 15 Outputs _out; 16 (void)_out; 17 float x = 1.0; 18 float y = 2.0; 19 int z = 3; 20 x = (x - x) + ((y * x) * x) * (y - x); 21 y = (x / y) / x; 22 z = (((z / 2) % 3 << 4) >> 2) << 1; 23 x += 12.0; 24 x -= 12.0; 25 x *= (y /= 10.0); 26 z |= 0; 27 z &= -1; 28 z ^= 0; 29 z >>= 2; 30 z <<= 4; 31 z %= 5; 32 x = 6.0; 33 y = 6.0; 34 z = 6; 35 _out.sk_FragColor = (x == 6.0 && y == 6.0) && z == 6 ? _uniforms.colorGreen : _uniforms.colorRed; 36 return _out; 37} 38