diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-03-21 13:25:41 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-03-21 13:25:41 +0300 |
commit | d2961b30db8539fbf78b32a48a2195e721101e06 (patch) | |
tree | d8d747ac050d543dcec6eb737e0f5242b502343a /reference/opt/shaders/asm | |
parent | 1b00a6e48a4d9e1bd80bedc0e8243246f0a33a72 (diff) |
GLSL: Unroll loads from builtin pos/point arrays.
Odd-ball case for certain geometry shaders coming from HLSL.
Diffstat (limited to 'reference/opt/shaders/asm')
-rw-r--r-- | reference/opt/shaders/asm/geom/unroll-glposition-load.asm.geom | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/reference/opt/shaders/asm/geom/unroll-glposition-load.asm.geom b/reference/opt/shaders/asm/geom/unroll-glposition-load.asm.geom new file mode 100644 index 00000000..d1f8963f --- /dev/null +++ b/reference/opt/shaders/asm/geom/unroll-glposition-load.asm.geom @@ -0,0 +1,22 @@ +#version 450 +layout(triangles) in; +layout(max_vertices = 3, triangle_strip) out; + +void main() +{ + vec4 _35_unrolled[3]; + for (int i = 0; i < int(3); i++) + { + _35_unrolled[i] = gl_in[i].gl_Position; + } + vec4 param[3] = _35_unrolled; + for (int _73 = 0; _73 < 3; ) + { + gl_Position = param[_73]; + EmitVertex(); + _73++; + continue; + } + EndPrimitive(); +} + |