This function returns true if the given parameter matches the expected value, and false otherwise.
An error message is printed if the parameter value doesn't match the expected value. --- tests/spec/arb_direct_state_access/dsa-utils.c | 17 +++++++++++++++++ tests/spec/arb_direct_state_access/dsa-utils.h | 7 +++++++ 2 files changed, 24 insertions(+) diff --git a/tests/spec/arb_direct_state_access/dsa-utils.c b/tests/spec/arb_direct_state_access/dsa-utils.c index ec7bb24..f065dbc 100644 --- a/tests/spec/arb_direct_state_access/dsa-utils.c +++ b/tests/spec/arb_direct_state_access/dsa-utils.c @@ -77,3 +77,20 @@ dsa_texture_with_unit(GLuint unit) { glUniform1i(dsa_uniform, unit); } + +bool +check_indexed_vao_param_(GLuint vao, GLuint index, GLuint param, + GLuint expected, const char *file, int line) +{ + GLuint value; + glGetVertexArrayIndexediv(vao, index, param, (GLint *) &value); + + if (value != expected) { + fprintf(stderr, "%s[%u] was %u, expected %u (%s:%d)\n", + piglit_get_gl_enum_name(param), + index, value, expected, file, line); + return false; + } + + return true; +} diff --git a/tests/spec/arb_direct_state_access/dsa-utils.h b/tests/spec/arb_direct_state_access/dsa-utils.h index 7bcf004..707a967 100644 --- a/tests/spec/arb_direct_state_access/dsa-utils.h +++ b/tests/spec/arb_direct_state_access/dsa-utils.h @@ -59,6 +59,13 @@ void dsa_init_program(void); void dsa_texture_with_unit(GLuint); +bool check_indexed_vao_param_(GLuint vao, GLuint index, GLuint param, + GLuint expected, const char *file, int line); + +#define check_indexed_vao_param(vao, index, param, expected) \ + check_indexed_vao_param_(vao, index, param, expected, \ + __FILE__, __LINE__) + #ifdef __cplusplus } /* end extern "C" */ #endif -- 2.1.4 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit