In light of Ian's rb, you could just upstream this commit and then send another patch to the ML that moves the macros to piglit-util-gl.h.
On Tue, Feb 17, 2015 at 2:46 PM, Ian Romanick <[email protected]> wrote: > One nearly infinitesimal nit below, but otherwise > > Reviewed-by: Ian Romanick <[email protected]> > > On 02/16/2015 05:12 AM, Martin Peres wrote: > > v2: Feedback from Laura > > - all.py: fix the test's name > > - move the tests to the display() function > > - fix the reporting of the macro > > - stay in the 78 chars limit > > > > v3: > > - test that dsa-created BOs are seen as TransformFeedback BOs > > - rework SUBTESTCONDITION as per Laura's comment > > - fix the name for doxygen > > > > v4: > > - rework SUBTESTCONDITION to only execute the condition once > > > > Signed-off-by: Martin Peres <[email protected]> > > --- > > tests/all.py | 1 + > > .../spec/arb_direct_state_access/CMakeLists.gl.txt | 1 + > > .../create-transformfeedbacks.c | 75 > ++++++++++++++++++++++ > > tests/spec/arb_direct_state_access/dsa-utils.h | 16 +++++ > > 4 files changed, 93 insertions(+) > > create mode 100644 > tests/spec/arb_direct_state_access/create-transformfeedbacks.c > > > > diff --git a/tests/all.py b/tests/all.py > > index d2ae5ea..dce9ae2 100644 > > --- a/tests/all.py > > +++ b/tests/all.py > > @@ -4407,6 +4407,7 @@ import_glsl_parser_tests(arb_derivative_control, > > ['']) > > > > spec['ARB_direct_state_access'] = {} > > +spec['ARB_direct_state_access']['create-transformfeedbacks'] = > PiglitGLTest(['arb_direct_state_access-create-transformfeedbacks'], > run_concurrent=True) > > spec['ARB_direct_state_access']['dsa-textures'] = > PiglitGLTest(['arb_direct_state_access-dsa-textures'], run_concurrent=True) > > spec['ARB_direct_state_access']['texturesubimage'] = > PiglitGLTest(['arb_direct_state_access-texturesubimage'], > run_concurrent=True) > > spec['ARB_direct_state_access']['bind-texture-unit'] = > PiglitGLTest(['arb_direct_state_access-bind-texture-unit'], > run_concurrent=True) > > diff --git a/tests/spec/arb_direct_state_access/CMakeLists.gl.txt > b/tests/spec/arb_direct_state_access/CMakeLists.gl.txt > > index 2cdce5d..3449cb1 100644 > > --- a/tests/spec/arb_direct_state_access/CMakeLists.gl.txt > > +++ b/tests/spec/arb_direct_state_access/CMakeLists.gl.txt > > @@ -9,6 +9,7 @@ link_libraries ( > > ${OPENGL_glu_LIBRARY} > > ) > > > > +piglit_add_executable > (arb_direct_state_access-create-transformfeedbacks > create-transformfeedbacks.c) > > piglit_add_executable (arb_direct_state_access-dsa-textures > dsa-textures.c dsa-utils.c) > > piglit_add_executable (arb_direct_state_access-texturesubimage > texturesubimage.c) > > piglit_add_executable (arb_direct_state_access-bind-texture-unit > bind-texture-unit.c) > > diff --git > a/tests/spec/arb_direct_state_access/create-transformfeedbacks.c > b/tests/spec/arb_direct_state_access/create-transformfeedbacks.c > > new file mode 100644 > > index 0000000..1189cae > > --- /dev/null > > +++ b/tests/spec/arb_direct_state_access/create-transformfeedbacks.c > > @@ -0,0 +1,75 @@ > > +/* > > + * Copyright 2015 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 create-transformfeedbacks.c > > + * > > + * Tests glCreateTransformFeedbacks to see if it behaves in the > expected way, > > + * throwing the correct errors, etc. > > + */ > > + > > +#include "piglit-util-gl.h" > > +#include "dsa-utils.h" > > + > > +PIGLIT_GL_TEST_CONFIG_BEGIN > > + > > + config.supports_gl_compat_version = 13; > > + > > + config.window_visual = PIGLIT_GL_VISUAL_RGBA | > > + PIGLIT_GL_VISUAL_DOUBLE; > > + > > +PIGLIT_GL_TEST_CONFIG_END > > + > > +void > > +piglit_init(int argc, char **argv) > > +{ > > + piglit_require_extension("GL_ARB_direct_state_access"); > > + piglit_require_extension("GL_ARB_transform_feedback3"); > > +} > > + > > +enum piglit_result > > +piglit_display(void) > > +{ > > + bool pass = true; > > + GLuint ids[10]; > > + > > + /* Throw some invalid inputs at glCreateTransformFeedbacks. */ > > + > > + /* n is negative */ > > + glCreateTransformFeedbacks(-1, ids); > > + SUBTEST(GL_INVALID_VALUE, pass, "negative n"); > > I'd phrase this as "n < 0" to match the third subcase. > > > + > > + /* Throw some valid inputs at glCreateTransformFeedbacks. */ > > + > > + /* n is zero */ > > + glCreateTransformFeedbacks(0, NULL); > > + SUBTEST(GL_NO_ERROR, pass, "n is 0"); > > And I'd phrase this as "n == 0" to match... > > > + > > + /* n is more than 1 */ > > + glCreateTransformFeedbacks(10, ids); > > + SUBTEST(GL_NO_ERROR, pass, "n > 1"); > > + > > + SUBTESTCONDITION(glIsTransformFeedback(ids[2]), pass, > > + "IsTransformFeedback()"); > > + > > + return pass ? PIGLIT_PASS : PIGLIT_FAIL; > > +} > > diff --git a/tests/spec/arb_direct_state_access/dsa-utils.h > b/tests/spec/arb_direct_state_access/dsa-utils.h > > index a2f70b2..25b5524 100644 > > --- a/tests/spec/arb_direct_state_access/dsa-utils.h > > +++ b/tests/spec/arb_direct_state_access/dsa-utils.h > > @@ -39,6 +39,22 @@ extern "C" { > > > > #include "piglit-util-gl.h" > > > > +#define SUBTEST(error, global, format, args...) \ > > +do { \ > > + bool local = piglit_check_gl_error((error)); \ > > + global = global && local; \ > > + piglit_report_subtest_result(local ? PIGLIT_PASS : PIGLIT_FAIL, \ > > + (format), ##args); \ > > +} while (0) > > + > > +#define SUBTESTCONDITION(condition, global, format, args...) \ > > +do { \ > > + bool cond = (condition); \ > > + global = global && cond; \ > > + piglit_report_subtest_result(cond ? PIGLIT_PASS : PIGLIT_FAIL, \ > > + (format), ##args); \ > > +} while (0) > > + > > void dsa_init_program(void); > > > > void dsa_texture_with_unit(GLuint); > > > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit >
_______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
