Mesa (master): glx: Don't rely on struct _glapi_table

Ian Romanick idr at kemper.freedesktop.org
Wed Aug 8 17:08:35 UTC 2012


Module: Mesa
Branch: master
Commit: f5dffb7e36487ff8a012725aaf78a4b7d3169102
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5dffb7e36487ff8a012725aaf78a4b7d3169102

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jul 31 16:40:07 2012 -0700

glx: Don't rely on struct _glapi_table

When --enable-shared-glapi is used, all non-ABI entries in the table are
lies.  There are two completely separate code generation paths used to
assign dispatch offset.  Neither has any clue about the other.
Unsurprisingly, the can't agree on what offsets to assign.

This adds a bunch of overhead to __glXNewIndirectAPI, but this function
is called at most once.

The test ExtensionNopDispatch was removed.  There was just no way to
make this test work with the information provided in shared-glapi.
Since indirect_glx.c uses _glapi_get_proc_offset now, it was also
impossible to make the tests work without shared-glapi.  So much pain.

This fixes indirect rendering with shared-glapi.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/glx/tests/Makefile.am            |    4 +
 src/glx/tests/indirect_api.cpp       | 1316 +++++++++++++++++-----------------
 src/mapi/glapi/gen/glX_proto_send.py |   35 +-
 3 files changed, 675 insertions(+), 680 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=f5dffb7e36487ff8a012725aaf78a4b7d3169102



More information about the mesa-commit mailing list