1#include <metal_stdlib> 2#include <simd/simd.h> 3#ifdef __clang__ 4#pragma clang diagnostic ignored "-Wall" 5#endif 6using namespace metal; 7struct Inputs { 8}; 9struct Outputs { 10 half4 sk_FragColor [[color(0)]]; 11}; 12void out_half_vh(thread half& v) { 13 v = 1.0h; 14} 15void out_half2_vh2(thread half2& v) { 16 v = half2(2.0h); 17} 18void out_half3_vh3(thread half3& v) { 19 v = half3(3.0h); 20} 21void out_half4_vh4(thread half4& v) { 22 v = half4(4.0h); 23} 24void out_half2x2_vh22(thread half2x2& v) { 25 v = half2x2(2.0h); 26} 27void out_half3x3_vh33(thread half3x3& v) { 28 v = half3x3(3.0h); 29} 30void out_half4x4_vh44(thread half4x4& v) { 31 v = half4x4(4.0h); 32} 33void out_int_vi(thread int& v) { 34 v = 1; 35} 36void out_int2_vi2(thread int2& v) { 37 v = int2(2); 38} 39void out_int3_vi3(thread int3& v) { 40 v = int3(3); 41} 42void out_int4_vi4(thread int4& v) { 43 v = int4(4); 44} 45void out_float_vf(thread float& v) { 46 v = 1.0; 47} 48void out_float2_vf2(thread float2& v) { 49 v = float2(2.0); 50} 51void out_float3_vf3(thread float3& v) { 52 v = float3(3.0); 53} 54void out_float4_vf4(thread float4& v) { 55 v = float4(4.0); 56} 57void out_float2x2_vf22(thread float2x2& v) { 58 v = float2x2(2.0); 59} 60void out_float3x3_vf33(thread float3x3& v) { 61 v = float3x3(3.0); 62} 63void out_float4x4_vf44(thread float4x4& v) { 64 v = float4x4(4.0); 65} 66void out_bool_vb(thread bool& v) { 67 v = true; 68} 69void out_bool2_vb2(thread bool2& v) { 70 v = bool2(false); 71} 72void out_bool3_vb3(thread bool3& v) { 73 v = bool3(true); 74} 75void out_bool4_vb4(thread bool4& v) { 76 v = bool4(false); 77} 78void out_pair_vhh(thread half& v1, thread half& v2) { 79 v1 = 1.0h; 80 v2 = 2.0h; 81} 82fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 83 Outputs _out; 84 (void)_out; 85 half _skTemp0; 86 half2 _skTemp1; 87 half3 _skTemp2; 88 half4 _skTemp3; 89 half _skTemp4; 90 half2 _skTemp5; 91 half4 _skTemp6; 92 half _skTemp7; 93 half _skTemp8; 94 half _skTemp9; 95 half _skTemp10; 96 half _skTemp11; 97 half _skTemp12; 98 half _skTemp13; 99 half _skTemp14; 100 half _skTemp15; 101 half _skTemp16; 102 half2x2 _skTemp17; 103 half3x3 _skTemp18; 104 half4x4 _skTemp19; 105 half3 _skTemp20; 106 half4 _skTemp21; 107 half2 _skTemp22; 108 int _skTemp23; 109 int2 _skTemp24; 110 int3 _skTemp25; 111 int4 _skTemp26; 112 int3 _skTemp27; 113 float _skTemp28; 114 float2 _skTemp29; 115 float3 _skTemp30; 116 float4 _skTemp31; 117 float2 _skTemp32; 118 float _skTemp33; 119 float2x2 _skTemp34; 120 float3x3 _skTemp35; 121 float4x4 _skTemp36; 122 float _skTemp37; 123 float4 _skTemp38; 124 bool _skTemp39; 125 bool2 _skTemp40; 126 bool3 _skTemp41; 127 bool4 _skTemp42; 128 bool2 _skTemp43; 129 bool _skTemp44; 130 half h; 131 ((out_half_vh(_skTemp0)), (h = _skTemp0)); 132 half2 h2; 133 ((out_half2_vh2(_skTemp1)), (h2 = _skTemp1)); 134 half3 h3; 135 ((out_half3_vh3(_skTemp2)), (h3 = _skTemp2)); 136 half4 h4; 137 ((out_half4_vh4(_skTemp3)), (h4 = _skTemp3)); 138 ((out_half_vh(_skTemp4)), (h3.y = _skTemp4)); 139 ((out_half2_vh2(_skTemp5)), (h3.xz = _skTemp5)); 140 ((out_half4_vh4(_skTemp6)), (h4.zwxy = _skTemp6)); 141 _out.sk_FragColor = half4(h, h2.x, h3.x, h4.x); 142 half h1; 143 ((out_pair_vhh(_skTemp7, _skTemp8)), (h = _skTemp7), (h1 = _skTemp8)); 144 ((out_pair_vhh(_skTemp9, _skTemp10)), (h = _skTemp9), (h = _skTemp10)); 145 ((out_pair_vhh(_skTemp11, _skTemp12)), (h2.x = _skTemp11), (h2.y = _skTemp12)); 146 ((out_pair_vhh(_skTemp13, _skTemp14)), (h2.x = _skTemp13), (h2.x = _skTemp14)); 147 ((out_pair_vhh(_skTemp15, _skTemp16)), (h2.x = _skTemp15), (h3.x = _skTemp16)); 148 half2x2 h2x2; 149 ((out_half2x2_vh22(_skTemp17)), (h2x2 = _skTemp17)); 150 half3x3 h3x3; 151 ((out_half3x3_vh33(_skTemp18)), (h3x3 = _skTemp18)); 152 half4x4 h4x4; 153 ((out_half4x4_vh44(_skTemp19)), (h4x4 = _skTemp19)); 154 ((out_half3_vh3(_skTemp20)), (h3x3[1] = _skTemp20)); 155 ((out_half4_vh4(_skTemp21)), (h4x4[3].zwxy = _skTemp21)); 156 ((out_half2_vh2(_skTemp22)), (h2x2[0] = _skTemp22)); 157 _out.sk_FragColor = half4(h2x2[0].x, h3x3[0].x, h4x4[0].x, 1.0h); 158 int i; 159 ((out_int_vi(_skTemp23)), (i = _skTemp23)); 160 int2 i2; 161 ((out_int2_vi2(_skTemp24)), (i2 = _skTemp24)); 162 int3 i3; 163 ((out_int3_vi3(_skTemp25)), (i3 = _skTemp25)); 164 int4 i4; 165 ((out_int4_vi4(_skTemp26)), (i4 = _skTemp26)); 166 ((out_int3_vi3(_skTemp27)), (i4.xyz = _skTemp27)); 167 _out.sk_FragColor = half4(half(i), half(i2.x), half(i3.x), half(i4.x)); 168 float f; 169 ((out_float_vf(_skTemp28)), (f = _skTemp28)); 170 float2 f2; 171 ((out_float2_vf2(_skTemp29)), (f2 = _skTemp29)); 172 float3 f3; 173 ((out_float3_vf3(_skTemp30)), (f3 = _skTemp30)); 174 float4 f4; 175 ((out_float4_vf4(_skTemp31)), (f4 = _skTemp31)); 176 ((out_float2_vf2(_skTemp32)), (f3.xy = _skTemp32)); 177 ((out_float_vf(_skTemp33)), (f2.x = _skTemp33)); 178 _out.sk_FragColor = half4(half(f), half(f2.x), half(f3.x), half(f4.x)); 179 float2x2 f2x2; 180 ((out_float2x2_vf22(_skTemp34)), (f2x2 = _skTemp34)); 181 float3x3 f3x3; 182 ((out_float3x3_vf33(_skTemp35)), (f3x3 = _skTemp35)); 183 float4x4 f4x4; 184 ((out_float4x4_vf44(_skTemp36)), (f4x4 = _skTemp36)); 185 ((out_float_vf(_skTemp37)), (f2x2[0].x = _skTemp37)); 186 ((out_float4_vf4(_skTemp38)), (f4x4[1] = _skTemp38)); 187 _out.sk_FragColor = half4(half(f2x2[0].x), half(f3x3[0].x), half(f4x4[0].x), 1.0h); 188 bool b; 189 ((out_bool_vb(_skTemp39)), (b = _skTemp39)); 190 bool2 b2; 191 ((out_bool2_vb2(_skTemp40)), (b2 = _skTemp40)); 192 bool3 b3; 193 ((out_bool3_vb3(_skTemp41)), (b3 = _skTemp41)); 194 bool4 b4; 195 ((out_bool4_vb4(_skTemp42)), (b4 = _skTemp42)); 196 ((out_bool2_vb2(_skTemp43)), (b4.xw = _skTemp43)); 197 ((out_bool_vb(_skTemp44)), (b3.z = _skTemp44)); 198 _out.sk_FragColor = half4(half(b), half(b2.x), half(b3.x), half(b4.x)); 199 return _out; 200} 201