mesa: Remove GL_APPLE_vertex_array_object stubs
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 22 May 2017 18:14:32 +0000 (11:14 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 23 May 2017 22:02:29 +0000 (15:02 -0700)
commit7009955281260fbb488736706679eb9fa73493d4
tree4d24cabf7d1817e3235e6cc8340f21d4a20d01a7
parent0781b58b3a4adaa33cb9788af81f04a617cc07fd
mesa: Remove GL_APPLE_vertex_array_object stubs

Mark the functions 'exec="skip"' in the XML instead.  libGL will still
have the functions, but the driver won't try to use them.  I verified
that this commit works with piglit's 'object-namespace-pollution glClear
vertex-array' on x64 with a driver built from mesa-12.0.3 tag.

In fairness, this test also works with a libGL built from 7927d03.  I
believe it continues to work because on non-Windows platforms we
generate some extra, dummy dispatch functions that can be used when a
driver requests a function unknown to libGL.  This was done to provide
some "forward" compatibility with drivers that need more functions.
This doesn't work on Windows because the Windows calling convention is
for the callee to clean up the stack.  That's the theory anyway.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mapi/glapi/gen/APPLE_vertex_array_object.xml
src/mesa/main/arrayobj.c
src/mesa/main/arrayobj.h
src/mesa/main/tests/dispatch_sanity.cpp