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>2020-01-15 18:18:29 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2020-01-15 18:18:29 +0300
commit55fe6050feeb1c0e16f31205f51850dccf7186ba (patch)
tree0d4ed1442403c676c8b0305ee12123edcb42e27d /shaders
parent172e39f0398b920cfc221b7826c92105d44ad647 (diff)
GLSL: Implement geometry shader passthrough extension.
Diffstat (limited to 'shaders')
-rw-r--r--shaders/geom/geometry-passthrough.geom28
1 files changed, 28 insertions, 0 deletions
diff --git a/shaders/geom/geometry-passthrough.geom b/shaders/geom/geometry-passthrough.geom
new file mode 100644
index 00000000..7f1997c7
--- /dev/null
+++ b/shaders/geom/geometry-passthrough.geom
@@ -0,0 +1,28 @@
+#version 450
+#extension GL_NV_geometry_shader_passthrough : require
+
+layout(triangles) in;
+
+layout(passthrough) in gl_PerVertex
+{
+ vec4 gl_Position;
+} gl_in[];
+
+layout(passthrough, location = 0) in VertexBlock
+{
+ int a;
+ int b;
+} v1[];
+
+layout(location = 2) in VertexBlock2
+{
+ int a;
+ layout(passthrough) int b;
+} v2[];
+
+layout(passthrough, location = 4) in vec4 vPoint[];
+
+void main()
+{
+ gl_Layer = gl_InvocationID + v1[0].a + v2[1].b;
+}