[Piglit] [PATCH] sso: Add compile tests for the location layout qualifier

Ian Romanick idr at freedesktop.org
Wed Oct 2 11:04:44 PDT 2013


From: Ian Romanick <ian.d.romanick at intel.com>

NVIDIA (304.64 on GTX 260) fails all of the 1.10, 1.20, and 1.30 tests
because they fail to recognize the layout keyword at all.  Paul has
suggested that adding

    #extension GL_ARB_fragment_coord_conventions: require

may work around this issue in some cases.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Wen Su <WSu at nvidia.com>
Cc: Paul Berry <stereotype441 at gmail.com>
---
Paul,

Are there other geometry shader tests that I should add?

 .../compiler/1.10/layout-location.frag             | 14 ++++++++++++++
 .../compiler/1.10/layout-location.vert             | 15 +++++++++++++++
 .../compiler/1.20/layout-location.frag             | 14 ++++++++++++++
 .../compiler/1.20/layout-location.vert             | 15 +++++++++++++++
 .../compiler/1.30/layout-location.frag             | 14 ++++++++++++++
 .../compiler/1.30/layout-location.vert             | 15 +++++++++++++++
 .../compiler/1.40/layout-location.frag             | 15 +++++++++++++++
 .../compiler/1.40/layout-location.vert             | 16 ++++++++++++++++
 .../compiler/1.50/layout-location.frag             | 15 +++++++++++++++
 .../compiler/1.50/layout-location.geom             | 22 ++++++++++++++++++++++
 .../compiler/1.50/layout-location.vert             | 16 ++++++++++++++++
 11 files changed, 171 insertions(+)
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.frag
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.vert
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.frag
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.vert
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.frag
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.vert
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.frag
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.vert
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.frag
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.geom
 create mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.vert

diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.frag b/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.frag
new file mode 100644
index 0000000..b91faa1
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.frag
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.10
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 110
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) in vec4 a;
+
+void main()
+{
+    gl_FragColor = a;
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.vert b/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.vert
new file mode 100644
index 0000000..ecc8e78
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.10/layout-location.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.10
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 110
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) out vec4 a;
+
+void main()
+{
+    gl_Position = gl_Vertex;
+    a = vec4(0);
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.frag b/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.frag
new file mode 100644
index 0000000..0090a9f
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.frag
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 120
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) in vec4 a;
+
+void main()
+{
+    gl_FragColor = a;
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.vert b/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.vert
new file mode 100644
index 0000000..d432b81
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.20/layout-location.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.20
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 120
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) out vec4 a;
+
+void main()
+{
+    gl_Position = gl_Vertex;
+    a = vec4(0);
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.frag b/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.frag
new file mode 100644
index 0000000..a0dde35
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.frag
@@ -0,0 +1,14 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.30
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 130
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) in vec4 a;
+
+void main()
+{
+    gl_FragColor = a;
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.vert b/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.vert
new file mode 100644
index 0000000..104dc71
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.30/layout-location.vert
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.30
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 130
+#extension GL_ARB_separate_shader_objects: require
+
+layout(location = 0) out vec4 a;
+
+void main()
+{
+    gl_Position = gl_Vertex;
+    a = vec4(0);
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.frag b/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.frag
new file mode 100644
index 0000000..683892d
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.frag
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 140
+#extension GL_ARB_separate_shader_objects: require
+
+out vec4 fragcolor;
+layout(location = 0) in vec4 a;
+
+void main()
+{
+    fragcolor = a;
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.vert b/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.vert
new file mode 100644
index 0000000..8c55c4a
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.40/layout-location.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 140
+#extension GL_ARB_separate_shader_objects: require
+
+in vec4 piglit_vertex;
+layout(location = 0) out vec4 a;
+
+void main()
+{
+    gl_Position = piglit_vertex;
+    a = vec4(0);
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.frag b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.frag
new file mode 100644
index 0000000..63fafe7
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.frag
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 150
+#extension GL_ARB_separate_shader_objects: require
+
+out vec4 fragcolor;
+layout(location = 0) in vec4 a;
+
+void main()
+{
+    fragcolor = a;
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.geom b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.geom
new file mode 100644
index 0000000..f34cf2e
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.geom
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 150
+#extension GL_ARB_separate_shader_objects: require
+
+layout(points) in;
+layout(points) out;
+
+layout(location = 0) in vec4 in_position;
+
+layout(location = 0) out vec4 position;
+layout(location = 1) out vec4 color;
+
+void main()
+{
+    position = in_position;
+    color = vec4(0);
+    EmitVertex();
+}
diff --git a/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.vert b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.vert
new file mode 100644
index 0000000..9885718
--- /dev/null
+++ b/tests/spec/arb_separate_shader_objects/compiler/1.50/layout-location.vert
@@ -0,0 +1,16 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_separate_shader_objects
+// [end config]
+#version 150
+#extension GL_ARB_separate_shader_objects: require
+
+in vec4 piglit_vertex;
+layout(location = 0) out vec4 a;
+
+void main()
+{
+    gl_Position = piglit_vertex;
+    a = vec4(0);
+}
-- 
1.8.1.4



More information about the Piglit mailing list