Go to file
Adam Jackson a48dadc98a glx: Reimplement context tags
This would let you do a constant-time context lookup, but if that's your
performance problem you have two problems.  Just use the context's XID
as the tag value instead.

In order to do this, we have to defer destroying a context until it
actually goes unreferenced, as you're allowed to mention a context tag
after you've (ostensibly) destroyed the context, as long as it's still
your current context.  Thus, change DestroyContext to merely mark the
context as dead if it's a current context, and call down to actual
resource destruction (and XID reclamation) in StopUsingContext.

Also, stop trying to delete context state from DrawableGone.  This was
always broken, as GLX does not say that contexts are destroyed when
their drawables are destroyed.  But with the above change to defer
context destruction, this would trigger a server crash on client exit as
we'd free the context state twice.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-28 12:46:38 -04:00
composite panoramiX: consolidate common id assignment code. 2011-03-10 11:00:48 +10:00
config config: handle device change event properly 2011-03-24 09:51:09 +10:00
damageext Set DamageSetReportAfterOp to true for the damage extension 2010-11-10 15:51:27 -08:00
dbe miDbe window priv priv is pre-allocated, don't use dixSetPrivate (bug 28639) 2010-07-02 12:30:24 -04:00
dix Merge remote-tracking branch 'airlied/pwin-cleanup' 2011-03-27 20:06:29 -07:00
doc man: refactor common code in the man pages makefiles 2011-01-18 15:11:10 -08:00
exa Revert "dix: Remove usage_hint from pixmaps, store it in ->drawable.class" 2011-03-17 23:48:52 -07:00
fb Revert "dix: Remove usage_hint from pixmaps, store it in ->drawable.class" 2011-03-17 23:48:52 -07:00
glx glx: Reimplement context tags 2011-03-28 12:46:38 -04:00
hw glx: Remove noop dispatch table 2011-03-28 12:46:38 -04:00
include Merge remote-tracking branch 'airlied/pwin-cleanup' 2011-03-27 20:06:29 -07:00
m4 Add macro for detecting thread local storage support. 2011-01-08 08:42:49 -08:00
mi mi/misprite: use memory management provided by dixRegisterPrivateKey 2011-03-14 11:01:22 -07:00
miext Remove TriStrip and TriFan from the picture screen 2011-03-14 14:09:07 -04:00
os os/client: Prevent rare fd leak in DetermineClientPid 2011-03-27 18:16:36 -07:00
randr randr: Add RRConstrainCursorHarder 2011-03-14 13:35:51 -04:00
record Merge remote branch 'whot/for-keith' 2011-03-09 14:25:54 -08:00
render Merge remote-tracking branch 'airlied/xinerama-cleanup' 2011-03-23 13:38:37 +09:00
test test: when unit tests are enabled, build them during "make" 2011-03-24 09:52:04 +10:00
Xext Merge remote-tracking branch 'airlied/xinerama-cleanup' 2011-03-23 13:38:37 +09:00
xfixes xfixes: calloc, not malloc the cursorScreenRec 2011-02-14 09:13:19 +10:00
Xi xserver: remove AbsoluteClassRec keeping the ABI 2011-03-24 09:52:51 +10:00
xkb xkb: Initialize pad bytes sent in replies of geometry requests. 2011-03-17 10:53:35 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac GLX: Support TLS with better portability 2011-03-23 09:11:33 -07:00
COPYING Add asprintf() implementation for platforms without it 2010-12-07 11:10:35 -08:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am remove dolt 2010-09-30 17:44:59 -07:00
manpages.am man: refactor common code in the man pages makefiles 2011-01-18 15:11:10 -08:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in config: declare xserver private dependencies in xorg-server.pc 2010-06-22 11:34:47 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage