summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Arceri <tarceri@itsqueeze.com>2024-11-13 10:36:00 +1100
committerTimothy Arceri <tarceri@itsqueeze.com>2024-11-14 10:44:08 +1100
commitd04d6fff00849a2a8e29ef3251c6ca04a2f68dc7 (patch)
tree246e4a161c9d2a0d63ec4792d1e38ed21bc08aa2
parent262e5d3924312923e64064f0cfd4a9137984cc9f (diff)
glsl-1.10: test mesa bug with forward declaration
https://gitlab.freedesktop.org/mesa/mesa/-/issues/12115 Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/972>
-rw-r--r--tests/spec/glsl-1.10/linker/function-match-forward-declaration.shader_test41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/spec/glsl-1.10/linker/function-match-forward-declaration.shader_test b/tests/spec/glsl-1.10/linker/function-match-forward-declaration.shader_test
new file mode 100644
index 000000000..f4da51058
--- /dev/null
+++ b/tests/spec/glsl-1.10/linker/function-match-forward-declaration.shader_test
@@ -0,0 +1,41 @@
+/* Here we test that linking is successful when we have an unnecessary but
+ * valid forward declaration of get_my_position(). This test for the mesa bug
+ * from https://gitlab.freedesktop.org/mesa/mesa/-/issues/12115
+ */
+
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+#version 110
+
+vec4 get_my_position(vec4 a);
+
+vec4 my_position(vec4 a)
+{
+ return a * 0.5;
+}
+
+vec4 get_my_position(vec4 a) {
+ return my_position(a);
+}
+
+[vertex shader]
+#version 110
+
+vec4 get_my_position(vec4 a);
+
+void main()
+{
+ gl_Position = get_my_position(vec4(1.0));
+}
+
+[fragment shader]
+#version 110
+void main()
+{
+ gl_FragColor = vec4(1.0);
+}
+
+[test]
+link success