[Piglit] [PATCH] dir-locals.el: Adds whitespace support

2016-10-22 Thread Andres Gomez
Provides support for highlighting incorrect indentation.

v2: python-mode inherits from prog-mode
v3: Removed too long lines trail highlighting, as suggested by Ilia
Mirkin.

Signed-off-by: Andres Gomez 
---
 .dir-locals.el | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/.dir-locals.el b/.dir-locals.el
index 3bdca17..2a37aaf 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -1,11 +1,20 @@
 ((nil . ((indent-tabs-mode . t)
 (tab-width . 8)
-(show-trailing-whitespace . t)))
+(show-trailing-whitespace . t)
+(whitespace-style face indentation)
+(whitespace-line-column . 79)))
  (prog-mode .
-   ((c-file-style . "linux")))
+   ((c-file-style . "linux")
+(eval ignore-errors
+  (require 'whitespace)
+  (whitespace-mode 1
  (cmake-mode .
-((cmake-tab-width . 8)))
+((cmake-tab-width . 8)
+ (eval ignore-errors
+   (require 'whitespace)
+   (whitespace-mode 1
  (python-mode .
  ((indent-tabs-mode . nil)
-  (tab-width . 4)))
+  (tab-width . 4)
+  (whitespace-line-column . 80)))
  )
-- 
2.9.3

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 0/7] More duplicated layout-qualifier-names tests

2016-10-22 Thread Andres Gomez
This series complements the work done for mesa at:
https://lists.freedesktop.org/archives/mesa-dev/2016-October/132990.html

Briefing, this is a new set of tests that check the ability to support
multiple layout-qualifers in a single declaration and that only the
right-most appearance of the same layout-qualifier-name, in a single
layout-qualifier or across multiple layout-qualifiers in a single
declaration is taken into account.

The ARB_shading_language_420pack spec adds the support for multiple
layout-qualifiers in the same declaration.

The ARB_enhanced_layouts spec adds the support to repeat the same
layout-qualifier-name inside a single layout-qualifier.

In addition, I believe the ARB_enhanced_layouts spec also adds the
support for multiple layout-qualifiers in the same declaration. This
is not 100% clear to me since the addition in ARB_enhanced_layouts is
for a duplicated layout-qualifier-name in a single layout-qualifier
but it seems to make sense since the change builds up on the
precondition that multiple layout-qualifiers are already allowed in a
single declaration.

In any case, the specific tests which check this support are the ones
in patches 5/7 and 7/7 so they can be dropped straight away if I
didn't make a proper interpretation.

Andres Gomez (7):
  glsl-1.50: Add GS output layout qualifier redeclaration test
  arb_tessellation_shader: Add tests for TCS output size redeclaration
  arb_enhanced_layouts: Add more xfb_stride redeclaration tests
  arb_shading_language_420pack: More multiple layout qualifiers in a
single declaration tests
  arb_enhanced_layouts: Multiple layout qualifiers in a single
declaration tests
  arb_enhanced_layouts: More duplicated layout-qualifier-names tests
  arb_enhanced_layouts: More multiple layout qualifiers in a single
declaration tests

 ...identifiers-in-single-declaration-mismatch.geom | 38 +++
 ...vocation-identifiers-in-single-declaration.geom | 38 +++
 ...tion-identifiers-in-single-layout-mismatch.geom | 38 +++
 ...le-invocation-identifiers-in-single-layout.geom | 38 +++
 ...identifiers-in-single-declaration-mismatch.comp | 38 +++
 ...cal_size-identifiers-in-single-declaration.comp | 38 +++
 ...size-identifiers-in-single-layout-mismatch.comp | 38 +++
 ...le-local_size-identifiers-in-single-layout.comp | 38 +++
 ...-in-single-declaration-no-enhanced-layouts.vert | 22 +++
 ...location-identifiers-in-single-declaration.vert | 23 +++
 ...identifiers-in-single-declaration-mismatch.geom | 40 
 ...vertices-identifiers-in-single-declaration.geom | 40 
 ...ices-identifiers-in-single-layout-mismatch.geom | 40 
 ...-max_vertices-identifiers-in-single-layout.geom | 40 
 ...gle-declaration-global-no-enhanced-layouts.geom | 27 +
 ...ifiers-in-single-declaration-layout-global.geom | 28 ++
 ...-in-single-declaration-no-enhanced-layouts.geom | 25 
 ...e-stream-identifiers-in-single-declaration.geom | 26 +
 ...identifiers-in-single-declaration-mismatch.tesc | 39 +++
 ...vertices-identifiers-in-single-declaration.tesc | 39 +++
 ...ices-identifiers-in-single-layout-mismatch.tesc | 39 +++
 ...iple-vertices-identifiers-in-single-layout.tesc | 39 +++
 ...identifiers-in-single-declaration-mismatch.vert | 41 
 ...k-global-identifiers-in-single-declaration.vert | 41 
 ...obal-identifiers-in-single-layout-mismatch.vert | 41 
 ...-block-global-identifiers-in-single-layout.vert | 41 
 ...identifiers-in-single-declaration-mismatch.vert | 44 ++
 ...de-block-identifiers-in-single-declaration.vert | 44 ++
 ...lock-identifiers-in-single-layout-mismatch.vert | 44 ++
 ..._stride-block-identifiers-in-single-layout.vert | 44 ++
 ...identifiers-in-single-declaration-mismatch.vert | 37 ++
 ...e-global-identifiers-in-single-declaration.vert | 37 ++
 ...obal-identifiers-in-single-layout-mismatch.vert | 37 ++
 ...stride-global-identifiers-in-single-layout.vert | 37 ++
 ...identifiers-in-single-declaration-mismatch.vert | 41 
 ...k-global-identifiers-in-single-declaration.vert | 41 
 ...obal-identifiers-in-single-layout-mismatch.vert | 41 
 ...dblock-global-identifiers-in-single-layout.vert | 41 
 ...identifiers-in-single-declaration-mismatch.vert | 44 ++
 ...medblock-identifiers-in-single-declaration.vert | 44 ++
 ...lock-identifiers-in-single-layout-mismatch.vert | 44 ++
 

[Piglit] [PATCH 1/7] glsl-1.50: Add GS output layout qualifier redeclaration test

2016-10-22 Thread Andres Gomez
Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec says:

"All geometry shader output layout declarations in a program must declare 
the
 same layout and same value for max_vertices."

Signed-off-by: Andres Gomez 
---
 ...ut-declaration-consistent-with-prev-layout.geom | 37 ++
 1 file changed, 37 insertions(+)
 create mode 100644 
tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom

diff --git 
a/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
 
b/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
new file mode 100644
index 000..da8a86c
--- /dev/null
+++ 
b/tests/spec/glsl-1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom
@@ -0,0 +1,37 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// [end config]
+//
+// Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec says:
+//
+//"layout(triangle_strip, max_vertices = 60) out; // order does not matter
+// layout(max_vertices = 60) out; // redeclaration okay (*)
+// layout(triangle_strip) out;// redeclaration okay (*)
+// layout(points) out;// error, contradicts 
triangle_strip
+// layout(max_vertices = 30) out; // error, contradicts 60"
+//
+//...
+//
+//"All geometry shader output layout declarations in a program must 
declare the
+// same layout and same value for max_vertices."
+//
+// This test verifies the case marked with (*), namely that no error
+// results from declaring a geometry shader output layout that is
+// consistent with a previously declared geometry shader output layout.
+
+#version 150
+
+layout(lines) in;
+layout(line_strip, max_vertices=3) out;
+
+in vec4 pos[];
+
+layout(line_strip, max_vertices=3) out;
+layout(max_vertices=3) out;
+layout(line_strip) out;
+
+void main()
+{
+}
-- 
2.9.3

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 2/7] arb_tessellation_shader: Add tests for TCS output size redeclaration

2016-10-22 Thread Andres Gomez
From the ARB_tessellation_shader spec:

"All tessellation control shader layout declarations in a program must
 specify the same output patch vertex count."

Signed-off-by: Andres Gomez 
---
 ...e-qualifier-declarations-vertices-mismatch.tesc | 23 ++
 ...t-multiple-qualifier-declarations-vertices.tesc | 23 ++
 2 files changed, 46 insertions(+)
 create mode 100644 
tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices-mismatch.tesc
 create mode 100644 
tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices.tesc

diff --git 
a/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices-mismatch.tesc
 
b/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices-mismatch.tesc
new file mode 100644
index 000..62e369e
--- /dev/null
+++ 
b/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices-mismatch.tesc
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.50
+// require_extensions: GL_ARB_tessellation_shader
+// check_link: true
+// [end config]
+//
+// From the ARB_tessellation_shader spec:
+//
+//"All tessellation control shader layout declarations in a program must
+// specify the same output patch vertex count."
+
+#version 150
+#extension GL_ARB_tessellation_shader: require
+
+layout(vertices = 3) out;
+layout(vertices = 4) out;
+
+void main() {
+gl_out[gl_InvocationID].gl_Position = vec4(0.0);
+gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 1.0);
+gl_TessLevelInner = float[2](1.0, 1.0);
+}
diff --git 
a/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices.tesc
 
b/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices.tesc
new file mode 100644
index 000..62a2fba
--- /dev/null
+++ 
b/tests/spec/arb_tessellation_shader/compiler/layout-multiple-qualifier-declarations-vertices.tesc
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// require_extensions: GL_ARB_tessellation_shader
+// check_link: true
+// [end config]
+//
+// From the ARB_tessellation_shader spec:
+//
+//"All tessellation control shader layout declarations in a program must
+// specify the same output patch vertex count."
+
+#version 150
+#extension GL_ARB_tessellation_shader: require
+
+layout(vertices = 3) out;
+layout(vertices = 3) out;
+
+void main() {
+gl_out[gl_InvocationID].gl_Position = vec4(0.0);
+gl_TessLevelOuter = float[4](1.0, 1.0, 1.0, 1.0);
+gl_TessLevelInner = float[2](1.0, 1.0);
+}
-- 
2.9.3

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 7/7] arb_enhanced_layouts: More multiple layout qualifiers in a single declaration tests

2016-10-22 Thread Andres Gomez
Added tests for the layout-qualifier-names "max_vertices",
"invocations", "vertices", "local_size_[x|y|z]" and "xfb_stride" which
may have redeclarations but all of them enforce that a global or
variable redeclaration holds the same value than in the previous
declaration(s).

These tests check that multiple appearances of the same
layout-qualifier-name across multiple layout-qualifiers in the same
declaration with different values won't trigger a compile/link error.

From the ARB_enhanced_layouts spec:

"More than one layout qualifier may appear in a single declaration.
 Additionally, the same layout-qualifier-name can occur multiple times
 within a layout qualifier or across multiple layout qualifiers in the
 same declaration"

Signed-off-by: Andres Gomez 
---
 ...identifiers-in-single-declaration-mismatch.geom | 38 +++
 ...vocation-identifiers-in-single-declaration.geom | 38 +++
 ...identifiers-in-single-declaration-mismatch.comp | 38 +++
 ...cal_size-identifiers-in-single-declaration.comp | 38 +++
 ...identifiers-in-single-declaration-mismatch.geom | 40 
 ...vertices-identifiers-in-single-declaration.geom | 40 
 ...identifiers-in-single-declaration-mismatch.tesc | 39 +++
 ...vertices-identifiers-in-single-declaration.tesc | 39 +++
 ...identifiers-in-single-declaration-mismatch.vert | 41 
 ...k-global-identifiers-in-single-declaration.vert | 41 
 ...identifiers-in-single-declaration-mismatch.vert | 44 ++
 ...de-block-identifiers-in-single-declaration.vert | 44 ++
 ...identifiers-in-single-declaration-mismatch.vert | 37 ++
 ...e-global-identifiers-in-single-declaration.vert | 37 ++
 ...identifiers-in-single-declaration-mismatch.vert | 41 
 ...k-global-identifiers-in-single-declaration.vert | 41 
 ...identifiers-in-single-declaration-mismatch.vert | 44 ++
 ...medblock-identifiers-in-single-declaration.vert | 44 ++
 ...identifiers-in-single-declaration-mismatch.vert | 39 +++
 ...e-global-identifiers-in-single-declaration.vert | 39 +++
 ...identifiers-in-single-declaration-mismatch.vert | 39 +++
 ...variable-identifiers-in-single-declaration.vert | 39 +++
 22 files changed, 880 insertions(+)
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-invocation-identifiers-in-single-declaration-mismatch.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-invocation-identifiers-in-single-declaration.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-local_size-identifiers-in-single-declaration-mismatch.comp
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-local_size-identifiers-in-single-declaration.comp
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-max_vertices-identifiers-in-single-declaration-mismatch.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-max_vertices-identifiers-in-single-declaration.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-vertices-identifiers-in-single-declaration-mismatch.tesc
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-vertices-identifiers-in-single-declaration.tesc
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-global-identifiers-in-single-declaration-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-global-identifiers-in-single-declaration.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-identifiers-in-single-declaration-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-identifiers-in-single-declaration.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-global-identifiers-in-single-declaration-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-global-identifiers-in-single-declaration.vert
 create mode 100644 

[Piglit] [PATCH 6/7] arb_enhanced_layouts: More duplicated layout-qualifier-names tests

2016-10-22 Thread Andres Gomez
Added tests for the layout-qualifier-names "max_vertices",
"invocations", "vertices", "local_size_[x|y|z]" and "xfb_stride" which
may have redeclarations but all of them enforce that a global or
variable redeclaration holds the same value than in the previous
declaration(s).

These tests check that multiple appearances of the same
layout-qualifier-name in a single layout qualifier with different values
won't trigger a compile/link error.

From the ARB_enhanced_layouts spec:

"More than one layout qualifier may appear in a single declaration.
 Additionally, the same layout-qualifier-name can occur multiple times
 within a layout qualifier or across multiple layout qualifiers in the
 same declaration. When the same layout-qualifier-name occurs
 multiple times, in a single declaration, the last occurrence overrides
 the former occurrence(s).  Further, if such a layout-qualifier-name
 will effect subsequent declarations or other observable behavior, it
 is only the last occurrence that will have any effect, behaving as if
 the earlier occurrence(s) within the declaration are not present.
 This is also true for overriding layout-qualifier-names, where one
 overrides the other (e.g., row_major vs. column_major); only the last
 occurrence has any effect."

Signed-off-by: Andres Gomez 
---
 ...tion-identifiers-in-single-layout-mismatch.geom | 38 +++
 ...le-invocation-identifiers-in-single-layout.geom | 38 +++
 ...size-identifiers-in-single-layout-mismatch.comp | 38 +++
 ...le-local_size-identifiers-in-single-layout.comp | 38 +++
 ...ices-identifiers-in-single-layout-mismatch.geom | 40 
 ...-max_vertices-identifiers-in-single-layout.geom | 40 
 ...ices-identifiers-in-single-layout-mismatch.tesc | 39 +++
 ...iple-vertices-identifiers-in-single-layout.tesc | 39 +++
 ...obal-identifiers-in-single-layout-mismatch.vert | 41 
 ...-block-global-identifiers-in-single-layout.vert | 41 
 ...lock-identifiers-in-single-layout-mismatch.vert | 44 ++
 ..._stride-block-identifiers-in-single-layout.vert | 44 ++
 ...obal-identifiers-in-single-layout-mismatch.vert | 37 ++
 ...stride-global-identifiers-in-single-layout.vert | 37 ++
 ...obal-identifiers-in-single-layout-mismatch.vert | 41 
 ...dblock-global-identifiers-in-single-layout.vert | 41 
 ...lock-identifiers-in-single-layout-mismatch.vert | 44 ++
 ...de-namedblock-identifiers-in-single-layout.vert | 44 ++
 ...obal-identifiers-in-single-layout-mismatch.vert | 39 +++
 ...riable-global-identifiers-in-single-layout.vert | 39 +++
 ...able-identifiers-in-single-layout-mismatch.vert | 39 +++
 ...ride-variable-identifiers-in-single-layout.vert | 39 +++
 22 files changed, 880 insertions(+)
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-invocation-identifiers-in-single-layout-mismatch.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-invocation-identifiers-in-single-layout.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-local_size-identifiers-in-single-layout-mismatch.comp
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-local_size-identifiers-in-single-layout.comp
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-max_vertices-identifiers-in-single-layout-mismatch.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-max_vertices-identifiers-in-single-layout.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-vertices-identifiers-in-single-layout-mismatch.tesc
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-vertices-identifiers-in-single-layout.tesc
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-global-identifiers-in-single-layout-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-global-identifiers-in-single-layout.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-xfb_stride-block-identifiers-in-single-layout-mismatch.vert
 create mode 100644 

[Piglit] [PATCH 5/7] arb_enhanced_layouts: Multiple layout qualifiers in a single declaration tests

2016-10-22 Thread Andres Gomez
We already had tests for a repeated layout-qualifier-name in a single
layout-qualifier. Now, we also add similar tests to check across
multiple layout-qualifiers in the same declaration.

From the ARB_enhanced_layouts spec:

"More than one layout qualifier may appear in a single declaration.
 Additionally, the same layout-qualifier-name can occur multiple times
 within a layout qualifier or across multiple layout qualifiers in the
 same declaration"

Signed-off-by: Andres Gomez 
---
 ...-in-single-declaration-no-enhanced-layouts.vert | 22 +
 ...location-identifiers-in-single-declaration.vert | 23 ++
 ...gle-declaration-global-no-enhanced-layouts.geom | 27 +
 ...ifiers-in-single-declaration-layout-global.geom | 28 ++
 ...-in-single-declaration-no-enhanced-layouts.geom | 25 +++
 ...e-stream-identifiers-in-single-declaration.geom | 26 
 6 files changed, 151 insertions(+)
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration-no-enhanced-layouts.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-global-no-enhanced-layouts.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-layout-global.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-no-enhanced-layouts.geom
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration.geom

diff --git 
a/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration-no-enhanced-layouts.vert
 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration-no-enhanced-layouts.vert
new file mode 100644
index 000..3e1827e
--- /dev/null
+++ 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration-no-enhanced-layouts.vert
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects
+// check_link: false
+// [end config]
+//
+// From the ARB_enhanced_layouts spec:
+//
+//"More than one layout qualifier may appear in a single declaration.
+// Additionally, the same layout-qualifier-name can occur multiple times
+// within a layout qualifier or across multiple layout qualifiers in the
+// same declaration"
+
+#version 140
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(location=2) layout(location=1) out vec3 var;
+
+void main()
+{
+}
diff --git 
a/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration.vert
 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration.vert
new file mode 100644
index 000..30b6875
--- /dev/null
+++ 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-location-identifiers-in-single-declaration.vert
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.40
+// require_extensions: GL_ARB_separate_shader_objects GL_ARB_enhanced_layouts
+// check_link: false
+// [end config]
+//
+// From the ARB_enhanced_layouts spec:
+//
+//"More than one layout qualifier may appear in a single declaration.
+// Additionally, the same layout-qualifier-name can occur multiple times
+// within a layout qualifier or across multiple layout qualifiers in the
+// same declaration"
+
+#version 140
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_enhanced_layouts: enable
+
+layout(location=2) layout(location=1) out vec3 var;
+
+void main()
+{
+}
diff --git 
a/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-global-no-enhanced-layouts.geom
 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-global-no-enhanced-layouts.geom
new file mode 100644
index 000..0bc8eae
--- /dev/null
+++ 
b/tests/spec/arb_enhanced_layouts/compiler/duplicate-layout-qualifier-identifiers/multiple-stream-identifiers-in-single-declaration-global-no-enhanced-layouts.geom
@@ -0,0 +1,27 @@
+// 

[Piglit] [PATCH 3/7] arb_enhanced_layouts: Add more xfb_stride redeclaration tests

2016-10-22 Thread Andres Gomez
From the GL_ARB_enhanced_layouts spec:

"While *xfb_stride* can be declared multiple times for the same buffer,
 it is a compile-time or link-time error to have different values
 specified for the stride for the same buffer."

Signed-off-by: Andres Gomez 
---
 .../xfb_stride/block-stride-match-global.vert  | 31 ++
 .../xfb_stride/block-stride-match.vert | 29 
 .../xfb_stride/block-stride-mismatch-global.vert   | 31 ++
 .../xfb_stride/block-stride-mismatch.vert  | 29 
 .../xfb_stride/global-stride-match.vert| 22 +++
 .../xfb_stride/global-stride-mismatch.vert | 22 +++
 .../named-block-stride-match-global.vert   | 31 ++
 .../xfb_stride/named-block-stride-match.vert   | 29 
 .../named-block-stride-mismatch-global.vert| 31 ++
 .../xfb_stride/named-block-stride-mismatch.vert| 29 
 .../xfb_stride/variable-stride-match-global.vert   | 26 ++
 .../xfb_stride/variable-stride-match.vert  | 24 +
 .../variable-stride-mismatch-global.vert   |  6 ++---
 .../xfb_stride/variable-stride-mismatch.vert   |  6 ++---
 14 files changed, 340 insertions(+), 6 deletions(-)
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert
 create mode 100644 
tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert

diff --git 
a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
 
b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
new file mode 100644
index 000..b9fadb4
--- /dev/null
+++ 
b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert
@@ -0,0 +1,31 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+//"While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time error to have different values
+// specified for the stride for the same buffer."
+
+#version 150
+#extension GL_ARB_enhanced_layouts: require
+
+layout(xfb_stride = 20, xfb_buffer = 0) out;
+
+layout(xfb_buffer = 0) out block1 {
+  vec4 var;
+};
+
+layout(xfb_stride = 20) out block2 {
+  vec4 var2;
+};
+
+void main()
+{
+  var = vec4(1.0);
+  var2 = vec4(0.0);
+}
diff --git 
a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
 
b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
new file mode 100644
index 000..fbc84da
--- /dev/null
+++ 
b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert
@@ -0,0 +1,29 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.50
+// check_link: true
+// require_extensions: GL_ARB_enhanced_layouts
+// [end config]
+//
+// From the GL_ARB_enhanced_layouts spec:
+//
+//"While *xfb_stride* can be declared multiple times for the same buffer,
+// it is a compile-time or link-time