1#include <metal_stdlib> 2#include <simd/simd.h> 3 4using namespace metal; 5 6struct Struct 7{ 8 uint flags[1]; 9}; 10 11struct defaultUniformsVS 12{ 13 Struct flags; 14 float4 uquad[4]; 15 float4x4 umatrix; 16}; 17 18struct main0_out 19{ 20 float4 gl_Position [[position]]; 21}; 22 23struct main0_in 24{ 25 float4 a_position [[attribute(0)]]; 26}; 27 28vertex main0_out main0(main0_in in [[stage_in]], constant defaultUniformsVS& _24 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]]) 29{ 30 main0_out out = {}; 31 out.gl_Position = _24.umatrix * float4(_24.uquad[int(gl_VertexIndex)].x, _24.uquad[int(gl_VertexIndex)].y, in.a_position.z, in.a_position.w); 32 if (_24.flags.flags[0] != 0u) 33 { 34 out.gl_Position.z = 0.0; 35 } 36 return out; 37} 38 39