With the current piglit dispatch code, the distinction between things
like glBeginQuery and glBeginQueryARB is taken care of already so the
test can be simplified a bit.
---
 tests/spec/arb_occlusion_query/occlusion_query.c |   38 +++++++---------------
 1 file changed, 11 insertions(+), 27 deletions(-)

diff --git a/tests/spec/arb_occlusion_query/occlusion_query.c 
b/tests/spec/arb_occlusion_query/occlusion_query.c
index ba35ed0..f37dd46 100644
--- a/tests/spec/arb_occlusion_query/occlusion_query.c
+++ b/tests/spec/arb_occlusion_query/occlusion_query.c
@@ -43,12 +43,6 @@ PIGLIT_GL_TEST_CONFIG_END
 
 #define MAX_QUERIES 5
 static GLuint occ_queries[MAX_QUERIES];
-static PFNGLGENQUERIESPROC gen_queries = NULL;
-static PFNGLBEGINQUERYPROC begin_query = NULL;
-static PFNGLENDQUERYPROC end_query = NULL;
-static PFNGLGETQUERYIVPROC get_queryiv = NULL;
-static PFNGLGETQUERYOBJECTIVPROC get_query_objectiv = NULL;
-
 
 static void draw_box(float x, float y, float z, float w, float h)
 {
@@ -113,15 +107,15 @@ static int do_test(float x, int all_at_once)
        draw_box(x + 20.0f, 20.0f, 0.0f, 55.0f, 55.0f);
 
        for (i = 0; i < MAX_QUERIES; i++) {
-               (*begin_query)(GL_SAMPLES_PASSED, occ_queries[i]);
+               glBeginQuery(GL_SAMPLES_PASSED, occ_queries[i]);
                glColor3ubv(tests[i].color);
                draw_box(x + tests[i].x, tests[i].y, tests[i].z,
                         tests[i].w, tests[i].h);
-               (*end_query)(GL_SAMPLES_PASSED);
+               glEndQuery(GL_SAMPLES_PASSED);
 
                if (! all_at_once) {
-                       (*get_query_objectiv)(occ_queries[i],
-                                             GL_QUERY_RESULT, &passed);
+                       glGetQueryObjectiv(occ_queries[i],
+                                          GL_QUERY_RESULT, &passed);
                        test_pass &= check_result(passed, tests[i].expected);
                }
        }
@@ -129,8 +123,8 @@ static int do_test(float x, int all_at_once)
 
        if (all_at_once) {
                for (i = 0; i < MAX_QUERIES; i++) {
-                       (*get_query_objectiv)(occ_queries[i], GL_QUERY_RESULT,
-                                             &passed);
+                       glGetQueryObjectiv(occ_queries[i], GL_QUERY_RESULT,
+                                          &passed);
                        test_pass &= check_result(passed, tests[i].expected);
                }
        }
@@ -167,19 +161,9 @@ piglit_init(int argc, char **argv)
        glDepthFunc(GL_LESS);
 
 
-       if (piglit_get_gl_version() >= 15) {
-               gen_queries = glGenQueries;
-               begin_query = glBeginQuery;
-               end_query = glEndQuery;
-               get_queryiv = glGetQueryiv;
-               get_query_objectiv = glGetQueryObjectiv;
-       } else if (piglit_is_extension_supported("GL_ARB_occlusion_query")) {
-               gen_queries = glGenQueriesARB;
-               begin_query = glBeginQueryARB;
-               end_query = glEndQueryARB;
-               get_queryiv = glGetQueryivARB;
-               get_query_objectiv = glGetQueryObjectivARB;
-       } else {
+       if (piglit_get_gl_version() < 15 &&
+           ! piglit_is_extension_supported("GL_ARB_occlusion_query"))
+       {
                piglit_report_result(PIGLIT_SKIP);
        }
 
@@ -188,12 +172,12 @@ piglit_init(int argc, char **argv)
         * any query bits.  I wonder how many applications actually check for
         * this case...
         */
-       (*get_queryiv)(GL_SAMPLES_PASSED, GL_QUERY_COUNTER_BITS,
+       glGetQueryiv(GL_SAMPLES_PASSED, GL_QUERY_COUNTER_BITS,
                       & query_bits);
        if (query_bits == 0) {
                piglit_report_result(PIGLIT_SKIP);
        }
 
 
-       (*gen_queries)(MAX_QUERIES, occ_queries);
+       glGenQueries(MAX_QUERIES, occ_queries);
 }
-- 
1.7.10.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to