Old versions of libxkbui use XkbStrCaseCmp which doesn't exist any longer;
the server fails to link with that version of the libkbui library, so
require the current version (1.0.2).
GLX_TEXTURE_TARGET_EXT and GLX_TEXTURE_RECTANGLE_EXT are defined as a part
of the new texture from pixmap GL extension in gl proto version 1.4.7 and
are now used by the X server code.
Also refactors __glXSwapBuffers to use GetDrawableOrPixmap for
getting the __GLXdrawable. This patch paves the way for GLXWindows
with XIDs different from the X Windows they are created for, a
prerequisite for glXCreateWindow().
Also drop glxerror.h (__glXError is now declared in glxserver.h)
and global.c (last remaining globals are in glxext.c now).
With this change we now support all GLX 1.3 error codes.
Now, we only check for filter commonality if we're operating on a source
picture, and we compare the id (screen-independent index of the filter name)
rather than the pointer to the filter (per-screen state).
Now, filters may only be set on source pictures when the filter is common to
all screens. Also, like SetPictureTransform, ChangePictureFilter is now not
called on source pictures.
A screen's ChangePictureTransform now isn't called when changing the transform,
as source pictures aren't associated with screens. Also, attempting to set
an AlphaMap to a source picture will fail with BadMatch just like a Window
would, preventing another crash.
XAAPolylinesWideSolid was adding the drawable origin onto each element in the
pPts array. Since the values got stored back into the pPts array, they got
truncated to 16 bits, causing the overflow I saw. This patch avoids storing
the coords back into the pPts array (and actually reduces the size of the
code too :). Now the 32-bit sum of coords + origin doesn't get truncated to
16 bits, and the problem is solved.
- Only update when pixmap content actually change;
- Only update the regions that acutally changed.
This is a worthwhile optimization, but it doesn't completely remove
the bottleneck, as mesa still uploads then entire texture whenever
it changes.
configure only defines HAVE_BACKTRACE, not HAVE_EXECINFO_H.
This could cause problems on platforms where the size of a pointer is greater
than that of an integer, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363218 .
These clients are by definition non-local and thus not direct rendering
capable, but they still need the QueryVersion and QueryDirectRenderingCapable
requests to find out cleanly.