bgfx/3rdparty/glsl-optimizer/tests/vertex/builtin-vars-outES3Metal.txt

36 lines
970 B
Text
Raw Normal View History

2014-10-11 15:32:43 -04:00
#include <metal_stdlib>
using namespace metal;
struct xlatMtlShaderInput {
float3 _inPos [[attribute(0)]];
float3 _inNor [[attribute(1)]];
};
struct xlatMtlShaderOutput {
float gl_PointSize [[point_size]];
float4 gl_Position [[position]];
};
struct xlatMtlShaderUniform {
};
vertex xlatMtlShaderOutput xlatMtlMain (xlatMtlShaderInput _mtl_i [[stage_in]], constant xlatMtlShaderUniform& _mtl_u [[buffer(0)]]
, uint gl_InstanceID [[instance_id]]
, uint gl_VertexID [[vertex_id]])
{
xlatMtlShaderOutput _mtl_o;
float3 p_1;
p_1.z = _mtl_i._inPos.z;
p_1.x = (_mtl_i._inPos.x + float(gl_VertexID));
p_1.y = (_mtl_i._inPos.y + float(gl_InstanceID));
p_1 = (p_1 + _mtl_i._inNor);
float4 tmpvar_2;
tmpvar_2.w = 1.0;
tmpvar_2.xyz = p_1;
_mtl_o.gl_Position = tmpvar_2;
_mtl_o.gl_PointSize = p_1.x;
return _mtl_o;
}
// stats: 6 alu 0 tex 0 flow
// inputs: 2
// #0: _inPos (high float) 3x1 [-1] loc 0
// #1: _inNor (high float) 3x1 [-1] loc 1