Go to file
Mario Kleiner aae6460694 present: Fix use of vsynced pageflips and honor PresentOptionAsync. (v4)
Pageflips for Pixmap presents were not synchronized to vblank on
drivers with support for PresentCapabilityAsync, due to some
missing init for vblank->sync_flips. The PresentOptionAsync
flag was completely ignored for pageflipped presents.

Vsynced flips only worked by accident on the intel-ddx, as that
driver doesn't have PresentCapabilityAsync support.

On nouveau-ddx, which supports PresentCapabilityAsync, this
always caused non-vsynced pageflips with pretty ugly tearing.

This patch fixes the problem, as tested on top of XOrg 1.16.2
on nouveau and intel.

v4: Add additional PresentCapabilityAsync caps check, as
suggested by Eric Anholt.

Please also apply to XOrg 1.17 and XOrg 1.16.2 stable.

Applying on top of XOrg 1.16.2 requires cherry-picking
commit 2051514652
which trivially fixes lack of support for protocol option
PresentOptionCopy - get two bug fixes for the price of one!

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-12-08 16:38:17 -08:00
composite Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
config config/udev: Prefix and shift "removing GPU" message 2014-12-08 15:49:22 -08:00
damageext Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
dbe Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
dix fix an annotation mistake 2014-11-12 10:26:02 +10:00
doc os: Remove deprecated malloc/free wrappers 2014-07-29 09:51:50 -04:00
dri3 dri3: Don't enable the DRI3 extension unless some screen supports it 2014-08-17 14:37:44 -07:00
exa Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
fb Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
glamor Merge remote-tracking branch 'whot/for-keith' 2014-11-24 15:39:51 -08:00
glx Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
hw modesetting: Remove unused params from drmmode_output_init() 2014-12-08 15:49:46 -08:00
include Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
m4 xorg-tls: fix warning, replace AC_TRY_COMPILE with AC_COMPILE_IFELSE 2014-01-22 11:18:42 -08:00
man Add -iglx & +iglx to Xserver.man 2014-11-30 11:32:21 -08:00
mi mi: Fix regression in arc drawing 2014-11-24 20:35:59 -08:00
miext Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
os Fix overflow of ConnectionOutput->size and ->count 2014-11-30 11:37:56 -08:00
present present: Fix use of vsynced pageflips and honor PresentOptionAsync. (v4) 2014-12-08 16:38:17 -08:00
pseudoramiX pseudoramiX: Add _X_ATTRIBUTE_PRINTF attributes to debug functions. 2014-01-27 11:38:34 -08:00
randr Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
record Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
render render: fix ChangePicture when Xinerama is active (v2) (#49170) 2014-11-30 11:37:23 -08:00
test Use unique display name for each xi2 test program [v3] 2014-10-09 14:15:45 +02:00
Xext Merge remote-tracking branch 'whot/for-keith' 2014-11-24 15:39:51 -08:00
xfixes Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
Xi Xi: block SIGIOs while copying device classes around 2014-05-23 11:08:17 +10:00
xkb Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
.dir-locals.el Add .dir-locals.el 2013-08-17 12:17:36 +02:00
.gitignore .gitignore: Add new autotools file 'test-driver' 2014-04-21 13:41:42 -07:00
autogen.sh autogen.sh: Honor NOCONFIGURE=1 2012-10-19 13:12:33 +10:00
configure.ac Update to version 1.16.99.901 2014-10-28 21:32:24 -07:00
COPYING modesetting: Merge modesetting's COPYING into the xserver's. 2014-09-15 12:46:02 -07:00
devbook.am devbook.am: maintenance update from docbook.am 2011-09-21 14:07:52 -07:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07: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 DIST_SUBDIRS needs to include glamor, even if it isn't built 2014-02-13 15:25:56 -08:00
manpages.am Xorg: Add a suid root wrapper 2014-03-12 08:50:05 +01:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: clarify documentation 2012-11-05 13:24:57 -06:00
xorg-server.pc.in xfree86: link modules against Xorg symbols on Cygwin 2012-04-05 21:57:07 -05:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -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