Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2019-03-21 13:25:41 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2019-03-21 13:25:41 +0300
commitd2961b30db8539fbf78b32a48a2195e721101e06 (patch)
treed8d747ac050d543dcec6eb737e0f5242b502343a /reference/opt/shaders/asm
parent1b00a6e48a4d9e1bd80bedc0e8243246f0a33a72 (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.geom22
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();
+}
+