mesa: reimplement dispatch table no-op function handling
authorBrian Paul <brianp@vmware.com>
Fri, 13 Mar 2015 17:43:44 +0000 (11:43 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 18 Mar 2015 15:01:50 +0000 (09:01 -0600)
commit4bdbb588a9d385509f9168e38bfdb76952ba469c
tree15bedfe72eeb0c233fd236ee3de6c88f5f7fa73c
parent201e36e77d6ca616f75f14d5f1c31f0062ae4366
mesa: reimplement dispatch table no-op function handling

Use the new _glapi_new_nop_table() and _glapi_set_nop_handler() to
improve how we handle calling no-op GL functions.

If there's a current context for the calling thread, generate a
GL_INVALID_OPERATION error.  This will happen if the app calls an
unimplemented extension function or it calls an illegal function
between glBegin/glEnd.

If there's no current context, print an error to stdout if it's a debug
build.

The dispatch_sanity.cpp file has some previous checks removed since
the _mesa_generic_nop() function no longer exists.

This fixes the piglit gl-1.0-dlist-begin-end and gl-1.0-beginend-coverage
tests on Windows.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/main/context.c
src/mesa/main/context.h
src/mesa/main/tests/dispatch_sanity.cpp