Go to file
Kristian Høgsberg 333b6ed26e Set DamageSetReportAfterOp to true for the damage extension
Change the damage extension reporter to queue up events after we chain
to the wrapped functions.  Damage events are typically sent out after
the rendering happens anyway, since we submit batch buffers from the
flush callback chain and then flush client io buffers.  Compositing
managers relie on this order, and there is no way we could reliably
provide damage events to clients before the rendering happens anyway.

By queueing up the damage events before the rendering happens, there's
a risk that the client io buffer may overflow and send the damage
events to the client before the driver has even seen the rendering
request.  Reporting damage events after the rendering fixes this
corner case and better corresponds with how we expect this to work.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 8d7b7a0d71)
[anholt: re-applied to revert the revert, now that the cause of the
revert is fixed]
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-11-10 15:51:27 -08:00
composite Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter. 2010-11-10 15:51:03 -08:00
config Fix udev population of Bluetooth input device product IDs 2010-09-01 15:04:37 +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 dix: advance parent window pointer when no node is found 2010-10-27 08:08:24 +10:00
doc Introduce per-object per-screen privates. 2010-09-18 11:17:18 +02:00
exa Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter. 2010-11-10 15:51:03 -08:00
fb Remove leftover fbSaveAreas & fbRestoreAreas defines from wfbrename.h 2010-10-13 09:16:51 -07:00
glx Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter. 2010-11-10 15:51:03 -08:00
hw Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter. 2010-11-10 15:51:03 -08:00
include fix a sign problem with valuator data. 2010-10-18 10:16:23 +10:00
m4 remove dolt 2010-09-30 17:44:59 -07:00
mi mi: Integer overflow for dashed lines longer than 46340. #31093 2010-11-10 14:55:21 -08:00
miext rootless: Delete dead remnants of rootless acceleration. 2010-09-13 15:58:08 -07:00
os os: Fix BigReq ignoring when another request is pending 2010-11-10 14:58:28 -08:00
randr randr: Remove mirandr 2010-10-18 17:38:23 -04:00
record record: Prevent a crash on recording client disconnect. 2010-06-22 11:43:36 -07:00
render render: Bounds check for nglyphs in ProcRenderAddGlyphs (#28801) 2010-08-19 18:00:18 -07:00
test test: input - set valuators mask for event to core conversion 2010-10-22 13:36:10 +10:00
Xext xserver: delete pervasively use of DISPATCH_PROC 2010-09-28 16:45:05 +03:00
xfixes Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
Xi Xi: reshuffle conditions for labeling a device as IsXExtensionKeyboard (#29046) 2010-10-29 08:28:57 +10:00
xkb xkb: always fill the symsPerKey array, regardless of client flags (#30527) 2010-10-20 08:01:54 +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 kdrive: Fix linking with tslib, with -Wl, --as-needed. #30600 2010-10-19 09:27:20 -07:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in xfree86: Set a saner search path for xorg.conf.d 2010-04-08 15:21:01 +10: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
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