Re: [Piglit] [PATCH] arb_xfb3: Fix draw_using_invalid_stream_index test

2014-11-18 Thread Chris Forbes
Bump. Currently, this test does nothing useful due to the broken GS.

On Sat, Oct 18, 2014 at 9:11 PM, Chris Forbes  wrote:
> - The GS declared no input layout so failed to compile. Apparently
>   nVIDIA's implementation is sloppy about this.
> - The shaders were compiled and then never actually used.
> - Vertex data was similarly uploaded, and then never actually used.
>
> Just trim this down to the bare minimum required to hit the stream index
> out of range error, assuming an implementation which emits this error
> before checking if EndTransformFeedback has ever been called with the
> xfb object bound. This matches the error order in the spec.
>
> Signed-off-by: Chris Forbes 
> ---
>  .../draw_using_invalid_stream_index.c  | 30 
> ++
>  1 file changed, 2 insertions(+), 28 deletions(-)
>
> diff --git 
> a/tests/spec/arb_transform_feedback3/draw_using_invalid_stream_index.c 
> b/tests/spec/arb_transform_feedback3/draw_using_invalid_stream_index.c
> index 89f1e78..b159d1a 100644
> --- a/tests/spec/arb_transform_feedback3/draw_using_invalid_stream_index.c
> +++ b/tests/spec/arb_transform_feedback3/draw_using_invalid_stream_index.c
> @@ -38,26 +38,10 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>
>  PIGLIT_GL_TEST_CONFIG_END
>
> -static const char gs_text[] =
> -"#version 150\n"
> -"#extension GL_ARB_gpu_shader5 : enable\n"
> -"layout(points, max_vertices = 1, stream = 0) out;\n"
> -"\n"
> -"void main() {\n"
> -"gl_Position = gl_in[0].gl_Position;\n"
> -"EmitStreamVertex(0);\n"
> -"}\n";
> -
>  void
>  piglit_init(int argc, char **argv)
>  {
> -static const float verts[] = {
> --1.0f, -1.0f,
> - 1.0f, -1.0f,
> --1.0f,  1.0f,
> - 1.0f,  1.0f,
> -};
> -   GLuint vao, buf, tfb;
> +   GLuint vao, tfb;
> GLint max_stream;
> bool pass;
>
> @@ -70,24 +54,14 @@ piglit_init(int argc, char **argv)
> piglit_report_result(PIGLIT_FAIL);
> }
>
> -   piglit_build_simple_program_multiple_shaders(
> -   GL_VERTEX_SHADER, vs_pass_thru_text,
> -   GL_GEOMETRY_SHADER, gs_text, 0);
> -
> /* Test is run under desktop OpenGL 3.2 -> use of VAOs is required */
> glGenVertexArrays(1, &vao);
> glBindVertexArray(vao);
>
> -glGenBuffers(1, &buf);
> -glBindBuffer(GL_ARRAY_BUFFER, buf);
> -glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_STATIC_DRAW);
> -glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, NULL);
> -glEnableVertexAttribArray(0);
> -
> glGenTransformFeedbacks(1, &tfb);
> glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, tfb);
>
> -   glDrawTransformFeedbackStream(GL_TRIANGLE_STRIP, tfb, max_stream);
> +   glDrawTransformFeedbackStream(GL_POINTS, tfb, max_stream);
>
> pass = piglit_check_gl_error(GL_INVALID_VALUE);
>
> --
> 2.1.2
>
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH V2 2/2] arb_arrays_of_arrays: geometry shader tests

2014-11-18 Thread Chris Forbes
This patch is:

Reviewed-by: Chris Forbes 

On Wed, Nov 19, 2014 at 5:06 PM, Timothy Arceri  wrote:
> V2: Added Nvidia results to commit message
>
> Test results are from the following hardware/driver combination:
>
> AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3
> Nvidia Geforce GTX 570 - 340.24 OpenGL 4.4
>
> The Nvidia results do not always mean what they are intended
> to (e.g. passing for the wrong reason) as the driver doesn't
> allow multi dimensional arrays of interface blocks even
> though the spec says they are allowed. I've indicated these
> tests with a *
>
> gs-input-sizing-consistent-with-prev-length-blocks.geom
> AMD: pass
> Nvidia: fail*
>
> gs-input-sizing-consistent-with-prev-length.geom
> AMD: pass
> Nvidia: pass
>
> gs-input-sizing-implied-length-blocks.geom
> AMD: pass
> Nvidia: fail
>
> gs-input-sizing-implied-length-consistent-with-prev-usage-blocks.geom
> AMD: pass
> Nvidia: fail*
>
> gs-input-sizing-implied-length-consistent-with-prev-usage.geom
> AMD: pass
> Nvidia: pass
>
> gs-input-sizing-implied-length-inconsistent-with-prev-usage-blocks.geom
> AMD: fail
> Nvidia: pass*
>
> gs-input-sizing-implied-length-inconsistent-with-prev-usage.geom
> AMD: fail
> Nvidia: fail
>
> gs-input-sizing-implied-length.geom
> AMD: pass
> Nvidia: fail
>
> gs-input-sizing-inconsistent-blocks-invalid.geom
> AMD: fail
> Nvidia: pass*
>
> gs-input-sizing-inconsistent-blocks-valid.geom
> AMD: pass
> Nvidia: fail*
>
> gs-input-sizing-inconsistent-invalid.geom
> AMD: fail
> Nvidia: pass
>
> gs-input-sizing-inconsistent-valid.geom
> AMD: pass
> Nvidia: pass
>
> gs-output.geom
> AMD: pass
> Nvidia: fail*
>
> gs-redeclares-pervertex-in-as-array-of-arrays.geom
> AMD: fail
> Nvidia: pass*
>
> gs-redeclares-pervertex-in-as-array-of-arrays2.geom
> AMD: fail
> Nvidia: pass*
>
> Signed-off-by: Timothy Arceri 
> ---
>
>  This is a resend of a patch from July
>
>  Can be tested on mesa using this branch:
>  https://github.com/tarceri/Mesa_arrays_of_arrays/tree/linking3
>
>  These geom shader tests are mainly just tests taken from the glsl 1.50
>  compile tests and extended for arrays of arrays. I've made some
>  assumptions where the spec doesn't provide full detail. As
>  you can see from the results the Nvidia and AMD drivers do not always
>  follow the spec even when it does provide full detail.
>
>  ...-sizing-consistent-with-prev-length-blocks.geom | 40 +++
>  ...s-input-sizing-consistent-with-prev-length.geom | 33 
>  .../gs-input-sizing-implied-length-blocks.geom | 31 +++
>  ...d-length-consistent-with-prev-usage-blocks.geom | 41 
>  ...-implied-length-consistent-with-prev-usage.geom | 38 ++
>  ...length-inconsistent-with-prev-usage-blocks.geom | 41 
>  ...mplied-length-inconsistent-with-prev-usage.geom | 38 ++
>  .../compiler/gs-input-sizing-implied-length.geom   | 27 +
>  ...s-input-sizing-inconsistent-blocks-invalid.geom | 37 ++
>  .../gs-input-sizing-inconsistent-blocks-valid.geom | 21 ++
>  .../gs-input-sizing-inconsistent-invalid.geom  | 31 +++
>  .../gs-input-sizing-inconsistent-valid.geom| 16 
>  .../arb_arrays_of_arrays/compiler/gs-output.geom   | 28 ++
>  ...redeclares-pervertex-in-as-array-of-arrays.geom | 45 
> ++
>  ...edeclares-pervertex-in-as-array-of-arrays2.geom | 45 
> ++
>  15 files changed, 512 insertions(+)
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-consistent-with-prev-length-blocks.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-consistent-with-prev-length.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-blocks.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-consistent-with-prev-usage-blocks.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-consistent-with-prev-usage.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-inconsistent-with-prev-usage-blocks.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-inconsistent-with-prev-usage.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-blocks-invalid.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-blocks-valid.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-invalid.geom
>  create mode 100644 
> tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-valid.geom
>  create mode 100644 tests/spec/arb_arrays_of_ar

[Piglit] [PATCH V2 2/2] arb_arrays_of_arrays: geometry shader tests

2014-11-18 Thread Timothy Arceri
V2: Added Nvidia results to commit message

Test results are from the following hardware/driver combination:

AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3
Nvidia Geforce GTX 570 - 340.24 OpenGL 4.4

The Nvidia results do not always mean what they are intended
to (e.g. passing for the wrong reason) as the driver doesn't
allow multi dimensional arrays of interface blocks even
though the spec says they are allowed. I've indicated these
tests with a *

gs-input-sizing-consistent-with-prev-length-blocks.geom
AMD: pass
Nvidia: fail*

gs-input-sizing-consistent-with-prev-length.geom
AMD: pass
Nvidia: pass

gs-input-sizing-implied-length-blocks.geom
AMD: pass
Nvidia: fail

gs-input-sizing-implied-length-consistent-with-prev-usage-blocks.geom
AMD: pass
Nvidia: fail*

gs-input-sizing-implied-length-consistent-with-prev-usage.geom
AMD: pass
Nvidia: pass

gs-input-sizing-implied-length-inconsistent-with-prev-usage-blocks.geom
AMD: fail
Nvidia: pass*

gs-input-sizing-implied-length-inconsistent-with-prev-usage.geom
AMD: fail
Nvidia: fail

gs-input-sizing-implied-length.geom
AMD: pass
Nvidia: fail

gs-input-sizing-inconsistent-blocks-invalid.geom
AMD: fail
Nvidia: pass*

gs-input-sizing-inconsistent-blocks-valid.geom
AMD: pass
Nvidia: fail*

gs-input-sizing-inconsistent-invalid.geom
AMD: fail
Nvidia: pass

gs-input-sizing-inconsistent-valid.geom
AMD: pass
Nvidia: pass

gs-output.geom
AMD: pass
Nvidia: fail*

gs-redeclares-pervertex-in-as-array-of-arrays.geom
AMD: fail
Nvidia: pass*

gs-redeclares-pervertex-in-as-array-of-arrays2.geom
AMD: fail
Nvidia: pass*

Signed-off-by: Timothy Arceri 
---

 This is a resend of a patch from July

 Can be tested on mesa using this branch: 
 https://github.com/tarceri/Mesa_arrays_of_arrays/tree/linking3

 These geom shader tests are mainly just tests taken from the glsl 1.50
 compile tests and extended for arrays of arrays. I've made some
 assumptions where the spec doesn't provide full detail. As
 you can see from the results the Nvidia and AMD drivers do not always
 follow the spec even when it does provide full detail.

 ...-sizing-consistent-with-prev-length-blocks.geom | 40 +++
 ...s-input-sizing-consistent-with-prev-length.geom | 33 
 .../gs-input-sizing-implied-length-blocks.geom | 31 +++
 ...d-length-consistent-with-prev-usage-blocks.geom | 41 
 ...-implied-length-consistent-with-prev-usage.geom | 38 ++
 ...length-inconsistent-with-prev-usage-blocks.geom | 41 
 ...mplied-length-inconsistent-with-prev-usage.geom | 38 ++
 .../compiler/gs-input-sizing-implied-length.geom   | 27 +
 ...s-input-sizing-inconsistent-blocks-invalid.geom | 37 ++
 .../gs-input-sizing-inconsistent-blocks-valid.geom | 21 ++
 .../gs-input-sizing-inconsistent-invalid.geom  | 31 +++
 .../gs-input-sizing-inconsistent-valid.geom| 16 
 .../arb_arrays_of_arrays/compiler/gs-output.geom   | 28 ++
 ...redeclares-pervertex-in-as-array-of-arrays.geom | 45 ++
 ...edeclares-pervertex-in-as-array-of-arrays2.geom | 45 ++
 15 files changed, 512 insertions(+)
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-consistent-with-prev-length-blocks.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-consistent-with-prev-length.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-blocks.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-consistent-with-prev-usage-blocks.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-consistent-with-prev-usage.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-inconsistent-with-prev-usage-blocks.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length-inconsistent-with-prev-usage.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-implied-length.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-blocks-invalid.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-blocks-valid.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-invalid.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-inconsistent-valid.geom
 create mode 100644 tests/spec/arb_arrays_of_arrays/compiler/gs-output.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-redeclares-pervertex-in-as-array-of-arrays.geom
 create mode 100644 
tests/spec/arb_arrays_of_arrays/compiler/gs-redeclares-pervertex-in-as-array-of-arrays2.geom

diff --git 
a/tests/spec/arb_arrays_of_arrays/compiler/gs-input-sizing-consistent

[Piglit] [PATCH V2 1/2] glsl-1.10: extend to test arrays of arrays

2014-11-18 Thread Timothy Arceri
Extends the varying packing tests to support
testing arrays of arrays

V2: renamed variables from 'inner' that should have been 'outer'

Signed-off-by: Timothy Arceri 
---
 tests/all.py   |   2 +-
 .../glsl-1.10/execution/varying-packing/simple.c   | 158 ++---
 2 files changed, 109 insertions(+), 51 deletions(-)

 This is a resend of a patch from July

 Can be tested on mesa using this branch: 
 https://github.com/tarceri/Mesa_arrays_of_arrays/tree/linking3

 Note: Tests for types (vec4) that are not packed currently fail with the
 above branch on intel classic driver because of missing arrays of arrays
 backend support (a simple solution to finish this off quickly might be
 to have a pass that just flatterns out the arrays before they are passed 
 to the classic drivers, I beleive this is basically what happens in the
 gallium state tracker and can easily be tested by having 
 lower_packed_varyings.cpp just pack everything). The tests pass fine on
 gallium.

 I understand that arrays of
 arrays is not really a glsl-1.10 test but this test also contains tests
 for 1.20 and 1.30 so I figured I'd add arrays of arrays too rather than
 duplicating the code elsewhere. I'm happy to pull this out and make it
 into a stand alone test though. It would also make it possible to clean
 it up a bit. The way arrays support works seems a little messy, and my
 changes for arrays of arrays add to this, but then again its not likely
 to need to change again much in future.

diff --git a/tests/all.py b/tests/all.py
index ea652f4..392f39b 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -1055,7 +1055,7 @@ spec['glsl-1.10']['execution']['varying-packing'] = {}
 for type in ['int', 'uint', 'float', 'vec2', 'vec3', 'vec4', 'ivec2', 'ivec3',
  'ivec4', 'uvec2', 'uvec3', 'uvec4', 'mat2', 'mat3', 'mat4',
  'mat2x3', 'mat2x4', 'mat3x2', 'mat3x4', 'mat4x2', 'mat4x3']:
-for arrayspec in ['array', 'separate']:
+for arrayspec in ['array', 'separate', 'arrays_of_arrays']:
 cmdline = 'simple {0} {1}'.format(type, arrayspec)
 spec['glsl-1.10']['execution']['varying-packing'][cmdline] = \
 PiglitGLTest('varying-packing-' + cmdline, run_concurrent=True)
diff --git a/tests/spec/glsl-1.10/execution/varying-packing/simple.c 
b/tests/spec/glsl-1.10/execution/varying-packing/simple.c
index 6d07a36..c5ff68e 100644
--- a/tests/spec/glsl-1.10/execution/varying-packing/simple.c
+++ b/tests/spec/glsl-1.10/execution/varying-packing/simple.c
@@ -97,6 +97,8 @@
  */
 #include "piglit-util-gl.h"
 
+static const int outer_dim_size = 2;
+
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
config.supports_gl_compat_version = 10;
@@ -115,6 +117,14 @@ enum base_type
BASE_TYPE_INT,
 };
 
+enum test_array_type
+{
+   SEPARATE,
+   ARRAY,
+   ARRAYS_OF_ARRAYS,
+};
+
+
 static const char *
 get_base_type_name(enum base_type t)
 {
@@ -189,7 +199,8 @@ const struct type_desc *all_types[] = {
 struct varying_desc
 {
const struct type_desc *type;
-   unsigned array_elems;
+   unsigned one_dim_array_elems;
+   unsigned two_dim_array_elems;
 };
 
 /**
@@ -198,12 +209,12 @@ struct varying_desc
  */
 static GLint
 get_shader(bool is_vs, unsigned glsl_version, int num_varyings,
-  struct varying_desc *varyings)
+  struct varying_desc *varyings, enum test_array_type array_type)
 {
GLuint shader;
char *full_text = malloc(1000 * 100 + num_varyings);
char *text = full_text;
-   unsigned i, j, k, l;
+   unsigned i, j, k, l, m;
const char *varying_keyword;
unsigned offset = 0;
GLenum shader_type = is_vs ? GL_VERTEX_SHADER : GL_FRAGMENT_SHADER;
@@ -218,16 +229,24 @@ get_shader(bool is_vs, unsigned glsl_version, int 
num_varyings,
}
 
text += sprintf(text, "#version %u\n", glsl_version);
+   if (array_type == ARRAYS_OF_ARRAYS)
+   text += sprintf(text, "#extension GL_ARB_arrays_of_arrays: 
enable\n");
text += sprintf(text, "uniform int i;\n");
for (i = 0; i < num_varyings; ++i) {
const char *opt_flat_keyword = "";
if (varyings[i].type->base != BASE_TYPE_FLOAT)
opt_flat_keyword = "flat ";
-   if (varyings[i].array_elems != 0) {
+   if (varyings[i].two_dim_array_elems != 0) {
+   text += sprintf(text, "%s%s %s var%u[%u][%u];\n",
+   opt_flat_keyword, varying_keyword,
+   varyings[i].type->name, i,
+   outer_dim_size,
+   varyings[i].two_dim_array_elems);
+   } else if (varyings[i].one_dim_array_elems != 0) {
text += sprintf(text, "%s%s %s var%u[%u];\n",
opt_flat_keyword, varying_keyword,
 

Re: [Piglit] [PATCH v2] Remove ARB_timer_query / EXT_timer_query from quick.py

2014-11-18 Thread Mark Janes
Ilia Mirkin  writes:

> FWIW, on nv50 and nvc0, EXT_timer_query time-elapsed and
> ARB_timer_query query GL_TIMESTAMP reliably fail, and the rest
> reliably pass. I don't remember ever seeing inconsistent behaviour.
> FWIW I don't really know what these extensions do, or what the tests
> check for, but just thought I'd provide the data point.

We probably see the failure more often because we run test with gbm, so
the CPU is consistently pegged on all cores.  Comparing cpu times with
gpu times is likely to be error-prone in this situation.

Since it only affects our automated system, we'll exclude it when we
invoke piglit.

-Mark
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] Remove spec.EXT_timer_query.time-elapsed from quick.py

2014-11-18 Thread Eric Anholt
Mark Janes  writes:

> spec.EXT_timer_query.time-elapsed fails intermittently, causing
> confusion for developers running quick.py to find regressions.  This
> test has always been intermittent, and people generally know to ignore
> it when it fails.

If you drop it from quick.py, it means developers will just never run it
and not see when their implementations are completely broken

NAK.

If you want to figure out how to make it more reliable, that would be
great.


pgp8yvoZx7H5z.pgp
Description: PGP signature
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Jose Fonseca

Ben, Emil,

Thanks for confirming this.   (It's quite hard to keep in mind what's 
supported or on on MSVC!)


Patch sounds great as is then.

Jose

On 18/11/14 19:04, Ben Widawsky wrote:

On Tue, Nov 18, 2014 at 06:25:59PM +, Jose Fonseca wrote:

You're sure? I thought that MSVC 2013 only had _library_ support for C99, but I 
confess I haven't tested..


Jose


Oops. Didn't see this since my mail wasn't actually in a to, or cc. I responded
to Brian's mail with the best I could find:
https://urldefense.proofpoint.com/v2/url?u=http-3A__blogs.msdn.com_b_vcblog_archive_2013_06_28_c-2D11-2D14-2Dstl-2Dfeatures-2Dfixes-2Dand-2Dbreaking-2Dchanges-2Din-2Dvs-2D2013.aspx&d=AAIBAg&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=qTGaRHpVUc8nTQuP4GPX_CZcEKUlhfZEVdKJKUlk_Uo&s=OGsVe-1lb_vJtjwCbZVgAckNNylUkPDSQkYh_0FWv5s&e=

(See the bit toward the bottom of the first page with the C99 features)




From: Piglit  on behalf of Emil Velikov 

Sent: 18 November 2014 17:17
To: Brian Paul; piglit@lists.freedesktop.org
Cc: emil.l.veli...@gmail.com
Subject: Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic 
test

On 18/11/14 15:14, Brian Paul wrote:

On 11/17/2014 05:00 PM, Ben Widawsky wrote:

Signed-off-by: Ben Widawsky 

[snip]

+static struct query queries[] = {
+{
+ .query = GL_GEOMETRY_SHADER_INVOCATIONS,
+ .name = "GL_GEOMETRY_SHADER_INVOCATIONS",
+ .expected = NUM_PRIMS},
+{
+ .query = GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
+ .name = "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB",
+ .expected = NUM_PRIMS}


Unless MSVC 2013 added support for named initializers, this won't
compile there.


MSVC 2013 has support for named initialisers. We should be safe here.

-Emil

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_piglit&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=NCgOo9oLZHwfeq4zQW6_WaeMk9HJ_C_DIa4ALZKrbtc&s=Uez3tmRkauv0Nn3BVSeoh_W7ZaoMa2s5IeeKun_CP0w&e=
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_piglit&d=AAIBAg&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=qTGaRHpVUc8nTQuP4GPX_CZcEKUlhfZEVdKJKUlk_Uo&s=BiQnYUWLmiKhAh4Rjp0cZQUCY3SsyLsTYJYM-nmukjc&e=




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


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Emil Velikov
On 18/11/14 18:25, Jose Fonseca wrote:
> You're sure? I thought that MSVC 2013 only had _library_ support for C99, but 
> I confess I haven't tested..
> 
Note that I've mentioned named/designated initialisers rather than the
whole C99. And yes building executables with named initializers works.

Cheers
Emil

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


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Ben Widawsky
On Tue, Nov 18, 2014 at 06:25:59PM +, Jose Fonseca wrote:
> You're sure? I thought that MSVC 2013 only had _library_ support for C99, but 
> I confess I haven't tested..
> 
> 
> Jose

Oops. Didn't see this since my mail wasn't actually in a to, or cc. I responded
to Brian's mail with the best I could find:
http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx

(See the bit toward the bottom of the first page with the C99 features)

> 
> 
> From: Piglit  on behalf of Emil Velikov 
> 
> Sent: 18 November 2014 17:17
> To: Brian Paul; piglit@lists.freedesktop.org
> Cc: emil.l.veli...@gmail.com
> Subject: Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic 
> test
> 
> On 18/11/14 15:14, Brian Paul wrote:
> > On 11/17/2014 05:00 PM, Ben Widawsky wrote:
> >> Signed-off-by: Ben Widawsky 
> [snip]
> >> +static struct query queries[] = {
> >> +{
> >> + .query = GL_GEOMETRY_SHADER_INVOCATIONS,
> >> + .name = "GL_GEOMETRY_SHADER_INVOCATIONS",
> >> + .expected = NUM_PRIMS},
> >> +{
> >> + .query = GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
> >> + .name = "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB",
> >> + .expected = NUM_PRIMS}
> >
> > Unless MSVC 2013 added support for named initializers, this won't
> > compile there.
> >
> MSVC 2013 has support for named initialisers. We should be safe here.
> 
> -Emil
> 
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_piglit&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=NCgOo9oLZHwfeq4zQW6_WaeMk9HJ_C_DIa4ALZKrbtc&s=Uez3tmRkauv0Nn3BVSeoh_W7ZaoMa2s5IeeKun_CP0w&e=
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit

-- 
Ben Widawsky, Intel Open Source Technology Center
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Ben Widawsky
On Tue, Nov 18, 2014 at 08:14:05AM -0700, Brian Paul wrote:
> On 11/17/2014 05:00 PM, Ben Widawsky wrote:
> >Signed-off-by: Ben Widawsky 
> >---
> >  .../spec/arb_pipeline_statistics/CMakeLists.gl.txt |   2 +
> >  .../arb_pipeline_statistics/pipeline_stats_geom.c  | 146 
> > +
> >  tests/spec/arb_pipeline_statistics/pipestat_help.c |   3 +-
> >  3 files changed, 150 insertions(+), 1 deletion(-)
> >  create mode 100644 tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c
> >
> >diff --git a/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt 
> >b/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
> >index 45da290..0c80a31 100644
> >--- a/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
> >+++ b/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
> >@@ -20,6 +20,8 @@ piglit_add_executable (arb_pipeline_stats_vert 
> >pipeline_stats_vert.c)
> >  target_link_libraries (arb_pipeline_stats_vert pipestat_help)
> >  piglit_add_executable (arb_pipeline_stats_vert_adj 
> > pipeline_stats_vert_adj.c)
> >  target_link_libraries (arb_pipeline_stats_vert_adj pipestat_help)
> >+piglit_add_executable (arb_pipeline_stats_geom pipeline_stats_geom.c)
> >+target_link_libraries (arb_pipeline_stats_geom pipestat_help)
> >  piglit_add_executable (arb_pipeline_stats_clip pipeline_stats_clip.c)
> >  target_link_libraries (arb_pipeline_stats_clip pipestat_help)
> >  piglit_add_executable (arb_pipeline_stats_frag pipeline_stats_frag.c)
> >diff --git a/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c 
> >b/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c
> >new file mode 100644
> >index 000..9cc4bcd
> >--- /dev/null
> >+++ b/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c
> >@@ -0,0 +1,146 @@
> >+/*
> >+ * Copyright © 2014 Intel Corporation
> >+ *
> >+ * Permission is hereby granted, free of charge, to any person obtaining a
> >+ * copy of this software and associated documentation files (the 
> >"Software"),
> >+ * to deal in the Software without restriction, including without limitation
> >+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> >+ * and/or sell copies of the Software, and to permit persons to whom the
> >+ * Software is furnished to do so, subject to the following conditions:
> >+ *
> >+ * The above copyright notice and this permission notice (including the next
> >+ * paragraph) shall be included in all copies or substantial portions of the
> >+ * Software.
> >+ *
> >+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
> >OR
> >+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> >+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 
> >OTHER
> >+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> >+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
> >DEALINGS
> >+ * IN THE SOFTWARE.
> >+ */
> >+
> >+/** \file pipeline_stats_geom.c
> >+ *
> >+ *  This test verifies that the vertex shader related tokens of
> >+ *  ARB_pipeline_statistics_query() work as expected. OpenGL 4.4 
> >Specification,
> >+ *  Core Profile.
> >+ *
> >+ *  When BeginQuery is called with a target of GEOMETRY_SHADER_INVOCATIONS,
> >+ *  the geometry shader invocations count maintained by the GL is set to 
> >zero.
> >+ *  When a geometry shader invocations query is active, the counter is
> >+ *  incremented every time the geometry shader is invoked (see section 
> >11.3).
> >+ *  In case of instanced geometry shaders (see section 11.3.4.2) the 
> >geometry
> >+ *  shader invocations count is incremented for each separate instanced
> >+ *  invocation.
> >+ *
> >+ *  When BeginQuery is called with a target of GEOMETRY_SHADER_PRIMITIVES_-
> >+ *  EMITTED_ARB, the geometry shader output primitives count maintained by 
> >the
> >+ *  GL is set to zero. When a geometry shader primitives emitted query is
> >+ *  active, the counter is incremented every time the geometry shader emits
> >+ *  a primitive to a vertex stream that is further processed by the GL (see
> >+ *  section 11.3.2). Restarting primitive topology using the shading 
> >language
> >+ *  built-in functions EndPrimitive or EndStreamPrimitive does not increment
> >+ *  the geometry shader output primitives count.
> >+ *
> >+ *  (The chicken clause)
> >+ *  The result of geometry shader queries may be implementation dependent 
> >due
> >+ *  to reasons described in section 11.1.3.
> >+ */
> >+
> >+#include "piglit-util-gl.h"
> >+#include "pipestat_help.h"
> >+
> >+PIGLIT_GL_TEST_CONFIG_BEGIN
> >+config.supports_gl_core_version = 32;
> >+config.supports_gl_compat_version = 32;
> >+config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA;
> >+PIGLIT_GL_TEST_CONFIG_END
> >+
> >+const char *vs_src =
> >+"#version 150   \n"
> >+"in vec4 piglit_vertex; \n"
> >+

Re: [Piglit] [PATCH v2] Remove ARB_timer_query / EXT_timer_query from quick.py

2014-11-18 Thread Dylan Baker
I'm not an authority on the subject, but for what it's worth you have my
rb.

Reviewed-by: Dylan Baker 

On Tuesday, November 18, 2014 10:39:26 AM Mark Janes wrote:
> EXT_timer_query and ARB_timer_query tests fail intermittently, causing
> confusion for developers running quick.py to find regressions.  These
> tests have always been intermittent, and people generally know to
> ignore them when they fail.
> 
> However, if everyone ignores a test, there is no point in running it
> all the time.
> ---
>  tests/quick.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/quick.py b/tests/quick.py
> index 8762d7d..0856f75 100644
> --- a/tests/quick.py
> +++ b/tests/quick.py
> @@ -12,3 +12,5 @@ del profile.tests['shaders']['glsl-fs-inline-explosion']
>  del profile.tests['shaders']['glsl-fs-unroll-explosion']
>  del profile.tests['shaders']['glsl-vs-inline-explosion']
>  del profile.tests['shaders']['glsl-vs-unroll-explosion']
> +del profile.tests['spec']['EXT_timer_query']
> +del profile.tests['spec']['ARB_timer_query']
> -- 
> 2.1.3
> 


signature.asc
Description: This is a digitally signed message part.
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH v2] Remove ARB_timer_query / EXT_timer_query from quick.py

2014-11-18 Thread Ilia Mirkin
On Tue, Nov 18, 2014 at 1:39 PM, Mark Janes  wrote:
> EXT_timer_query and ARB_timer_query tests fail intermittently, causing
> confusion for developers running quick.py to find regressions.  These
> tests have always been intermittent, and people generally know to
> ignore them when they fail.
>
> However, if everyone ignores a test, there is no point in running it
> all the time.

FWIW, on nv50 and nvc0, EXT_timer_query time-elapsed and
ARB_timer_query query GL_TIMESTAMP reliably fail, and the rest
reliably pass. I don't remember ever seeing inconsistent behaviour.
FWIW I don't really know what these extensions do, or what the tests
check for, but just thought I'd provide the data point.

> ---
>  tests/quick.py | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tests/quick.py b/tests/quick.py
> index 8762d7d..0856f75 100644
> --- a/tests/quick.py
> +++ b/tests/quick.py
> @@ -12,3 +12,5 @@ del profile.tests['shaders']['glsl-fs-inline-explosion']
>  del profile.tests['shaders']['glsl-fs-unroll-explosion']
>  del profile.tests['shaders']['glsl-vs-inline-explosion']
>  del profile.tests['shaders']['glsl-vs-unroll-explosion']
> +del profile.tests['spec']['EXT_timer_query']
> +del profile.tests['spec']['ARB_timer_query']
> --
> 2.1.3
>
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2] Remove ARB_timer_query / EXT_timer_query from quick.py

2014-11-18 Thread Mark Janes
EXT_timer_query and ARB_timer_query tests fail intermittently, causing
confusion for developers running quick.py to find regressions.  These
tests have always been intermittent, and people generally know to
ignore them when they fail.

However, if everyone ignores a test, there is no point in running it
all the time.
---
 tests/quick.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/quick.py b/tests/quick.py
index 8762d7d..0856f75 100644
--- a/tests/quick.py
+++ b/tests/quick.py
@@ -12,3 +12,5 @@ del profile.tests['shaders']['glsl-fs-inline-explosion']
 del profile.tests['shaders']['glsl-fs-unroll-explosion']
 del profile.tests['shaders']['glsl-vs-inline-explosion']
 del profile.tests['shaders']['glsl-vs-unroll-explosion']
+del profile.tests['spec']['EXT_timer_query']
+del profile.tests['spec']['ARB_timer_query']
-- 
2.1.3

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


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Jose Fonseca
You're sure? I thought that MSVC 2013 only had _library_ support for C99, but I 
confess I haven't tested..


Jose


From: Piglit  on behalf of Emil Velikov 

Sent: 18 November 2014 17:17
To: Brian Paul; piglit@lists.freedesktop.org
Cc: emil.l.veli...@gmail.com
Subject: Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic 
test

On 18/11/14 15:14, Brian Paul wrote:
> On 11/17/2014 05:00 PM, Ben Widawsky wrote:
>> Signed-off-by: Ben Widawsky 
[snip]
>> +static struct query queries[] = {
>> +{
>> + .query = GL_GEOMETRY_SHADER_INVOCATIONS,
>> + .name = "GL_GEOMETRY_SHADER_INVOCATIONS",
>> + .expected = NUM_PRIMS},
>> +{
>> + .query = GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
>> + .name = "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB",
>> + .expected = NUM_PRIMS}
>
> Unless MSVC 2013 added support for named initializers, this won't
> compile there.
>
MSVC 2013 has support for named initialisers. We should be safe here.

-Emil

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_piglit&d=AAIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzE&m=NCgOo9oLZHwfeq4zQW6_WaeMk9HJ_C_DIa4ALZKrbtc&s=Uez3tmRkauv0Nn3BVSeoh_W7ZaoMa2s5IeeKun_CP0w&e=
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Emil Velikov
On 18/11/14 15:14, Brian Paul wrote:
> On 11/17/2014 05:00 PM, Ben Widawsky wrote:
>> Signed-off-by: Ben Widawsky 
[snip]
>> +static struct query queries[] = {
>> +{
>> + .query = GL_GEOMETRY_SHADER_INVOCATIONS,
>> + .name = "GL_GEOMETRY_SHADER_INVOCATIONS",
>> + .expected = NUM_PRIMS},
>> +{
>> + .query = GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
>> + .name = "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB",
>> + .expected = NUM_PRIMS}
> 
> Unless MSVC 2013 added support for named initializers, this won't
> compile there.
> 
MSVC 2013 has support for named initialisers. We should be safe here.

-Emil

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


Re: [Piglit] [PATCH 5/6] ARB_pipeline_statistics_query (geom): basic test

2014-11-18 Thread Brian Paul

On 11/17/2014 05:00 PM, Ben Widawsky wrote:

Signed-off-by: Ben Widawsky 
---
  .../spec/arb_pipeline_statistics/CMakeLists.gl.txt |   2 +
  .../arb_pipeline_statistics/pipeline_stats_geom.c  | 146 +
  tests/spec/arb_pipeline_statistics/pipestat_help.c |   3 +-
  3 files changed, 150 insertions(+), 1 deletion(-)
  create mode 100644 tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c

diff --git a/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt 
b/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
index 45da290..0c80a31 100644
--- a/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
+++ b/tests/spec/arb_pipeline_statistics/CMakeLists.gl.txt
@@ -20,6 +20,8 @@ piglit_add_executable (arb_pipeline_stats_vert 
pipeline_stats_vert.c)
  target_link_libraries (arb_pipeline_stats_vert pipestat_help)
  piglit_add_executable (arb_pipeline_stats_vert_adj pipeline_stats_vert_adj.c)
  target_link_libraries (arb_pipeline_stats_vert_adj pipestat_help)
+piglit_add_executable (arb_pipeline_stats_geom pipeline_stats_geom.c)
+target_link_libraries (arb_pipeline_stats_geom pipestat_help)
  piglit_add_executable (arb_pipeline_stats_clip pipeline_stats_clip.c)
  target_link_libraries (arb_pipeline_stats_clip pipestat_help)
  piglit_add_executable (arb_pipeline_stats_frag pipeline_stats_frag.c)
diff --git a/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c 
b/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c
new file mode 100644
index 000..9cc4bcd
--- /dev/null
+++ b/tests/spec/arb_pipeline_statistics/pipeline_stats_geom.c
@@ -0,0 +1,146 @@
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+/** \file pipeline_stats_geom.c
+ *
+ *  This test verifies that the vertex shader related tokens of
+ *  ARB_pipeline_statistics_query() work as expected. OpenGL 4.4 Specification,
+ *  Core Profile.
+ *
+ *  When BeginQuery is called with a target of GEOMETRY_SHADER_INVOCATIONS,
+ *  the geometry shader invocations count maintained by the GL is set to zero.
+ *  When a geometry shader invocations query is active, the counter is
+ *  incremented every time the geometry shader is invoked (see section 11.3).
+ *  In case of instanced geometry shaders (see section 11.3.4.2) the geometry
+ *  shader invocations count is incremented for each separate instanced
+ *  invocation.
+ *
+ *  When BeginQuery is called with a target of GEOMETRY_SHADER_PRIMITIVES_-
+ *  EMITTED_ARB, the geometry shader output primitives count maintained by the
+ *  GL is set to zero. When a geometry shader primitives emitted query is
+ *  active, the counter is incremented every time the geometry shader emits
+ *  a primitive to a vertex stream that is further processed by the GL (see
+ *  section 11.3.2). Restarting primitive topology using the shading language
+ *  built-in functions EndPrimitive or EndStreamPrimitive does not increment
+ *  the geometry shader output primitives count.
+ *
+ *  (The chicken clause)
+ *  The result of geometry shader queries may be implementation dependent due
+ *  to reasons described in section 11.1.3.
+ */
+
+#include "piglit-util-gl.h"
+#include "pipestat_help.h"
+
+PIGLIT_GL_TEST_CONFIG_BEGIN
+config.supports_gl_core_version = 32;
+config.supports_gl_compat_version = 32;
+config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGBA;
+PIGLIT_GL_TEST_CONFIG_END
+
+const char *vs_src =
+   "#version 150  \n"
+   "in vec4 piglit_vertex;\n"
+   "out vec4 vertex_to_gs;\n"
+   "void main()   \n"
+   "{ \n"
+   "  vertex_to_gs = piglit_vertex;\n"
+   "} \n";
+
+const char *gs_src =
+   "#version 150  \n"
+   "layout(triangles) in; \n"
+   "layout(tr