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

2013-10-14 Thread Paul Berry
On 2 October 2013 11:04, Ian Romanick  wrote:

> From: Ian Romanick 
>
> 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 
> Cc: Wen Su 
> Cc: Paul Berry 
> ---
> Paul,
>
> Are there other geometry shader tests that I should add?
>

This patch is:

Reviewed-by: Paul Berry 

I don't see any need to add more geometry shader tests at the moment.


>
>  .../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 000..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 000..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 000..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 000..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 1

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

2013-10-06 Thread Wen Su
Ian, Thanks. I have logged this driver bug.

Wen

-Original Message-
From: Ian Romanick [mailto:i...@freedesktop.org] 
Sent: Friday, October 04, 2013 09:06 AM
To: Wen Su
Cc: piglit@lists.freedesktop.org; Paul Berry; Piers Daniell
Subject: Re: [PATCH] sso: Add compile tests for the location layout qualifier

On 10/03/2013 04:33 PM, Wen Su wrote:
> Piers and I reviewed the glsl spec v1.3 and v1.4. The layout qualifier was 
> not added until v1.4. See page 18 in the pdf below.
> http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.40.05.pdf

That is true.  It is also added by GL_ARB_fragment_coord_conventions,
GL_ARB_explicit_attrib_layout, and GL_ARB_separate_shader_objects.  Our
experiments have shown that the NVIDIA driver enables the layout keyword
only when GL_ARB_fragment_coord_conventions is enabled.

See also Khronos internal bug #6924.

> Wen
> 
> -Original Message-
> From: Ian Romanick [mailto:i...@freedesktop.org] 
> Sent: Wednesday, October 02, 2013 11:05 AM
> To: piglit@lists.freedesktop.org
> Cc: Ian Romanick; Wen Su; Paul Berry
> Subject: [PATCH] sso: Add compile tests for the location layout qualifier
> 
> From: Ian Romanick 
> 
> 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 
> Cc: Wen Su 
> Cc: Paul Berry 
> ---
> 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 000..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 000..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_separat

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

2013-10-04 Thread Ian Romanick
On 10/03/2013 04:33 PM, Wen Su wrote:
> Piers and I reviewed the glsl spec v1.3 and v1.4. The layout qualifier was 
> not added until v1.4. See page 18 in the pdf below.
> http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.40.05.pdf

That is true.  It is also added by GL_ARB_fragment_coord_conventions,
GL_ARB_explicit_attrib_layout, and GL_ARB_separate_shader_objects.  Our
experiments have shown that the NVIDIA driver enables the layout keyword
only when GL_ARB_fragment_coord_conventions is enabled.

See also Khronos internal bug #6924.

> Wen
> 
> -Original Message-
> From: Ian Romanick [mailto:i...@freedesktop.org] 
> Sent: Wednesday, October 02, 2013 11:05 AM
> To: piglit@lists.freedesktop.org
> Cc: Ian Romanick; Wen Su; Paul Berry
> Subject: [PATCH] sso: Add compile tests for the location layout qualifier
> 
> From: Ian Romanick 
> 
> 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 
> Cc: Wen Su 
> Cc: Paul Berry 
> ---
> 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 000..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 000..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 000..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_AR

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

2013-10-02 Thread Ian Romanick
From: Ian Romanick 

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 
Cc: Wen Su 
Cc: Paul Berry 
---
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 000..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 000..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 000..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 000..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 000..a0dde35
--- /dev/null
+++ b/tests/spec/arb_separate_sha