SPIRV-Cross/reference/shaders/asm/geom/unroll-glposition-load.asm.geom
Hans-Kristian Arntzen d2961b30db GLSL: Unroll loads from builtin pos/point arrays.
Odd-ball case for certain geometry shaders coming from HLSL.
2019-03-21 11:25:41 +01:00

36 lines
618 B
GLSL

#version 450
layout(triangles) in;
layout(max_vertices = 3, triangle_strip) out;
struct SceneOut
{
vec4 pos;
};
void _main(vec4 positions[3], SceneOut OUT)
{
for (int i = 0; i < 3; i++)
{
SceneOut o;
o.pos = positions[i];
gl_Position = o.pos;
EmitVertex();
}
EndPrimitive();
}
void main()
{
vec4 _35_unrolled[3];
for (int i = 0; i < int(3); i++)
{
_35_unrolled[i] = gl_in[i].gl_Position;
}
vec4 positions[3] = _35_unrolled;
vec4 param[3] = positions;
SceneOut param_1;
_main(param, param_1);
SceneOut OUT = param_1;
}