[Mesa-dev] [PATCH v2 11/13] dispatch_sanity test: allow newer functions to be set to NOP

Jordan Justen jordan.l.justen at intel.com
Tue Oct 30 11:25:32 PDT 2012


If a GL function was introduced in a later GL version than the
context we are testing, then it is okay if it is set to the
_mesa_generic_nop function.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
---
 src/mesa/main/tests/dispatch_sanity.cpp |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index a081247..c67551c 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -119,6 +119,12 @@ validate_functions(struct gl_context *ctx, const struct function *function_table
    _glapi_proc *table = (_glapi_proc *) ctx->Exec;
 
    for (unsigned i = 0; function_table[i].name != NULL; i++) {
+      /* The context version is >= the GL version where the
+         function was introduced. Therefore, the function cannot
+         be set to the nop function.
+       */
+      bool cant_be_nop = ctx->Version >= function_table[i].Version;
+
       const int offset = (function_table[i].offset != -1)
          ? function_table[i].offset
          : _glapi_get_proc_offset(function_table[i].name);
@@ -128,9 +134,11 @@ validate_functions(struct gl_context *ctx, const struct function *function_table
       ASSERT_EQ(offset,
                 _glapi_get_proc_offset(function_table[i].name))
          << "Function: " << function_table[i].name;
-      EXPECT_NE((_glapi_proc) _mesa_generic_nop, table[offset])
-         << "Function: " << function_table[i].name
-         << " at offset " << offset;
+      if (cant_be_nop) {
+         EXPECT_NE((_glapi_proc) _mesa_generic_nop, table[offset])
+            << "Function: " << function_table[i].name
+            << " at offset " << offset;
+      }
 
       table[offset] = (_glapi_proc) _mesa_generic_nop;
    }
-- 
1.7.9.5



More information about the mesa-dev mailing list