1#pragma clang diagnostic ignored "-Wmissing-prototypes" 2 3#include <metal_stdlib> 4#include <simd/simd.h> 5 6using namespace metal; 7 8struct VSOut 9{ 10 float4 pos; 11 float2 clip; 12}; 13 14struct main0_out 15{ 16 float4 gl_Position [[position]]; 17 float gl_ClipDistance [[clip_distance]] [2]; 18 float gl_ClipDistance_0 [[user(clip0)]]; 19 float gl_ClipDistance_1 [[user(clip1)]]; 20}; 21 22struct main0_in 23{ 24 float4 pos [[attribute(0)]]; 25}; 26 27static inline __attribute__((always_inline)) 28VSOut _main(thread const float4& pos) 29{ 30 VSOut vout; 31 vout.pos = pos; 32 vout.clip = pos.xy; 33 return vout; 34} 35 36vertex main0_out main0(main0_in in [[stage_in]]) 37{ 38 main0_out out = {}; 39 float4 pos = in.pos; 40 float4 param = pos; 41 VSOut flattenTemp = _main(param); 42 out.gl_Position = flattenTemp.pos; 43 out.gl_ClipDistance[0] = flattenTemp.clip.x; 44 out.gl_ClipDistance[1] = flattenTemp.clip.y; 45 out.gl_ClipDistance_0 = out.gl_ClipDistance[0]; 46 out.gl_ClipDistance_1 = out.gl_ClipDistance[1]; 47 return out; 48} 49 50