[PATCH 00/31] _X_UNEXPORT
aplattner at nvidia.com
Fri Dec 2 13:05:43 PST 2011
On Fri, Dec 02, 2011 at 03:31:06AM -0800, Daniel Stone wrote:
> As the name implies, go through and remove the _X_EXPORT tag from
> anything in the server which was completely unused by any clients. The
> follow-up commits also cull any code which was completely dead and
> discarded by the linker, as well as a couple of fixes (e.g. Xinerama
> regeneration and sync system counters) for issues turned up by symbols
> which really shouldn't be culled, being culled.
> This is available (on top of the extmod changes as well) in:
> git://people.freedesktop.org/~daniels/xserver master
Of the symbols removed here, we use the following:
Used to test whether visuals made it through consolidation.
Used to synchronize OpenGL state across Xinerama screens.
Used via the VERIFY_SYNC_FENCE macro.
Currently used by the Tegra driver, but I can use driverIsPerformingTransform
instead for ABI 12 servers.
Used to track which drawables need to generate damage events.
We use this for a few options that have to be applied globally and don't make
sense in the device sections.
We use this internally in debug builds to assert that SIGIO is blocked inside
routines that have to be atomic w.r.t. things we do in SIGIO callbacks.
I also thought these would be useful, but haven't actually gotten around to using them yet:
Not currently used, but I've been wanting to use it for a while to force the
FlushCallback to get called after the next request.
Not currently used, but I was considering using it to kill clients that cause
too many GPU errors using indirect GLX.
Using "nobody is currently using this interface" as justification for removing something triggers my "that doesn't follow!" reaction, but most of this stuff seems fine. There are some weird things though, like allowing people to call CreatePicture but not ChangePicture.
If something is unused and it either shouldn't be used or is unlikely to be useful, then I'm all for deleting it.
Some of these changes could use corresponding changes to doc/Xserver-spec.xml.
More information about the xorg-devel