Re: [Piglit] [PATCH] arb_xfb3: Fix draw_using_invalid_stream_index test
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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