Go to file
Kenneth Graunke 09230a2d43 modesetting: Add vblank synchronization support when using Present.
modesetting hooked up vblank support for DRI2, but was missing support
for vblanks in Present.

This is mostly copy and pasted from Keith's code in the intel driver.

v2: Use ms_crtc_msc_to_kernel_msc in ms_present_queue_vblank to hook
    up the vblank_offset workaround for bogus MSC values (which the
    DRI2 code already did).

    Also simplify the ms_present_get_crtc function.  vblank.c already
    implements the functionality; we just need to convert types.

v3: Fix ms_flush_drm_events return code.  I'd copied code where 0 meant
    success into a function that returned a boolean, so the return code
    was always backwards.

    Also add DebugPresent calls in ms_present_vblank_{handler,abort}.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Jason Ekstrand <jason.ekstrand@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-12-25 13:39:19 -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 dbe: Call to DDX SwapBuffers requires address of int, not unsigned int [CVE-2014-8097 pt. 2] 2014-12-09 11:26:58 -08:00
dix dix: integer overflow in RegionSizeof() [CVE-2014-8092 3/4] 2014-12-08 18:09:47 -08:00
doc os: Remove deprecated malloc/free wrappers 2014-07-29 09:51:50 -04:00
dri3 dri3: unvalidated lengths in DRI3 extension swapped procs [CVE-2014-8103 1/2] 2014-12-08 18:09:48 -08: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 glamor: Make sure Xvideo source image data is properly aligned 2014-12-25 13:30:16 -08:00
glx glx: Add implementation of __GLXContext->loseCurrent for direct ctxts 2014-12-09 14:15:55 -08:00
hw modesetting: Add vblank synchronization support when using Present. 2014-12-25 13:39:19 -08:00
include Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 pt. 5] 2014-12-09 11:28:07 -08: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 Move RTLD_DI_SETSIGNAL code into a separate block to quiet warning 2014-12-19 18:16:15 -08:00
present present: If present_queue_vblank() fails, do present_execute(). 2014-12-25 13:39:04 -08:00
pseudoramiX pseudoramiX: Add _X_ATTRIBUTE_PRINTF attributes to debug functions. 2014-01-27 11:38:34 -08:00
randr randr: unvalidated lengths in RandR extension swapped procs [CVE-2014-8101] 2014-12-08 18:09:48 -08:00
record Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
render render: unvalidated lengths in Render extn. swapped procs [CVE-2014-8100 2/2] 2014-12-08 18:09:48 -08:00
test Add REQUEST_FIXED_SIZE testcases to test/misc.c 2014-12-08 18:09:49 -08:00
Xext Xv: unvalidated lengths in XVideo extension swapped procs [CVE-2014-8099] 2014-12-08 18:09:48 -08:00
xfixes xfixes: unvalidated length in SProcXFixesSelectSelectionInput [CVE-2014-8102] 2014-12-08 18:09:48 -08:00
Xi Xi: unvalidated lengths in Xinput extension [CVE-2014-8095] 2014-12-08 18:09:48 -08: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 Add request length checking test cases for some Xinput 1.x requests 2014-12-08 18:09:49 -08: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