mesa: Restore functionality to dispatch sanity test
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 29 Apr 2015 18:53:18 +0000 (11:53 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 4 May 2015 20:27:21 +0000 (13:27 -0700)
commit778c7f149a0e29d135b05f27bb0a6837decdb533
tree2ee2a1c3354694138ffacf70416c658f6cba0c5f
parente1ae0c3bc37be7b1de21ee248d674671d01da8e6
mesa: Restore functionality to dispatch sanity test

Along with a couple secondary goals, the dispatch sanity test had two
major, primary goals.

1. Ensure that all functions part of an API version are set in the
   dispatch table.

2. Ensure that functions that cannot be part of an API version are not
   set in the dispatch table.

Commit 4bdbb58 removed the tests ability to fulfill either of its
primary goals by removing anything that used _mesa_generic_nop().  It
seems like the problem on Windows could have been resolved by adding the
NULL context pointer check from nop_handler to _mesa_generic_nop().
There is, however, some debugging benefit to actually getting the
(supposed) function name logged in the "unsupported function called"
message.

The preceding commit added a function, _glapi_new_nop_table, that
allocates a table of per-entry point no-op functions.  Restore the
ability to actually validate the sanity of the dispatch table by using
_glapi_new_nop_table.

Previous to this commit removing a function from one of the
*_functions_possible lists would not cause the test to fail.  With this
commit removing such a function will result in failure, as is expected.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/tests/dispatch_sanity.cpp