1#pragma clang diagnostic ignored "-Wmissing-prototypes" 2 3#include <metal_stdlib> 4#include <simd/simd.h> 5 6using namespace metal; 7 8struct main0_out 9{ 10 float4 v1 [[user(locn1)]]; 11 float4 gl_Position [[position]]; 12 float gl_PointSize [[point_size]]; 13 float gl_ClipDistance [[clip_distance]] [2]; 14 float gl_ClipDistance_0 [[user(clip0)]]; 15 float gl_ClipDistance_1 [[user(clip1)]]; 16}; 17 18static inline __attribute__((always_inline)) 19void write_in_func(thread float4& v0, thread float4& v1, thread float4& gl_Position, thread float& gl_PointSize, thread float (&gl_ClipDistance)[2]) 20{ 21 v0 = float4(1.0); 22 v1 = float4(2.0); 23 gl_Position = float4(3.0); 24 gl_PointSize = 4.0; 25 gl_ClipDistance[0] = 1.0; 26 gl_ClipDistance[1] = 0.5; 27} 28 29vertex main0_out main0() 30{ 31 main0_out out = {}; 32 float4 v0 = {}; 33 write_in_func(v0, out.v1, out.gl_Position, out.gl_PointSize, out.gl_ClipDistance); 34 out.gl_ClipDistance_0 = out.gl_ClipDistance[0]; 35 out.gl_ClipDistance_1 = out.gl_ClipDistance[1]; 36 return out; 37} 38 39