dispatch_sanity test: allow newer functions to be set to NOP

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@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
Jordan Justen 2012-10-23 18:00:11 -07:00
parent 7e64fe583f
commit 83b6a7cdaa
1 changed files with 11 additions and 3 deletions

View File

@ -117,6 +117,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);
@ -126,9 +132,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;
}