[PATCH 00/11] GLX dispatch cleanup
Adam Jackson
ajax at redhat.com
Thu Mar 3 11:07:14 PST 2011
In trying to figure out why the clutter FBO tests simply fell over in
indirect contexts, I got to discover exactly how disgusting this code is.
The glapi code appears to have been cargo-culted in from Mesa, but is
over-general for our purposes. In particular, glapi goes through some
contortions to support the corner case semantics of glXGetProcAddress,
which is a thing that simply can not happen in xserver, and contains
much more threading support than can happen in xserver.
This patchset attempts to simplify some of that. I've lightly tested it,
in the sense that glxinfo and glxgears still work in indirect contexts, but
I've not tried anything as robust as piglit yet. There's more to come, in
the form of fixing and simplifying _glapi_add_dispatch for the xserver
environment, but that's proving a little tricker than I was hoping.
Nonetheless, the before-and-after is very pretty already:
text data bss dec hex filename
1833530 69920 49664 1953114 1dcd5a Xvfb-before
1741772 62928 49640 1854340 1c4b84 Xvfb-after
b/glx/Makefile.am | 2
b/glx/glapi.c | 417 --
b/glx/glapi.h | 28
b/glx/glthread.c | 162 -
b/glx/glthread.h | 69
b/hw/xquartz/GL/indirect.c | 9
glx/glapitemp.h | 6655 ---------------------------------------------
7 files changed, 19 insertions(+), 7323 deletions(-)
- ajax
More information about the xorg-devel
mailing list