Aaron Plattner 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:
> Hi,
> 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:

* PanoramiXTranslateVisualID
Used to test whether visuals made it through consolidation.

Used to synchronize OpenGL state across Xinerama screens.

* SyncVerifyFence
Used via the VERIFY_SYNC_FENCE macro.

* RRTransformInit/Compute/Copy/Fini
Currently used by the Tegra driver, but I can use driverIsPerformingTransform
instead for ABI 12 servers.

* DamageGetScreenFuncs
Used to track which drawables need to generate damage events.

* xf86ConfigLayout
We use this for a few options that have to be applied globally and don't make
sense in the device sections.

* xf86AssertBlockedSIGIO
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:

* SetCriticalOutputPending
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.

* CloseDownConnection
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.

-- Aaron

More information about the xorg-devel mailing list