xserver-multidpi/hw
Kenneth Graunke 13c7d53df8 modesetting: Implement page flipping support for Present.
Based on code by Keith Packard, Eric Anholt, and Jason Ekstrand.

v2:
- Fix double free and flip_count underrun (caught by Mario Kleiner).
- Don't leak flip_vblank_event on the error_out path (Mario).
- Use the updated ms_flush_drm_events API (Mario, Ken).

v3: Hack around DPMS shenanigans.  If all monitors are DPMS off, then
    there is no active framebuffer; attempting to pageflip will hit the
    error_undo paths, causing us to drmModeRmFB with no framebuffer,
    which confuses the kernel into doing full modesets and generally
    breaks things.  To avoid this, make ms_present_check_flip check that
    some CRTCs are enabled and DPMS on.  This is an ugly hack that would
    get better with atomic modesetting, or some core Present work.

v4:
- Don't do pageflipping if CRTCs are rotated (caught by Jason Ekstrand).
- Make pageflipping optional (Option "PageFlip" in xorg.conf.d), but
  enabled by default.

v5: Initialize num_crtcs_on to 0 (caught by Michel Dänzer).

[airlied: took over]
v6: merge async flip support from Mario Kleiner
free sequence after failed vblank queue
handle unflip while DPMS'ed off (Michel)
move flip tracking into its own structure, and
fix up reference counting issues, and add comments.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2015-06-30 13:44:09 +10:00
..
dmx Convert hw/dmx to new *allocarray functions 2015-04-21 16:58:08 -07:00
kdrive cursor: drop ARGB_CURSOR 2015-06-30 12:17:51 +10:00
vfb Convert hw/xnest & hw/vfb to new *allocarray functions 2015-04-21 16:58:08 -07:00
xfree86 modesetting: Implement page flipping support for Present. 2015-06-30 13:44:09 +10:00
xnest Merge remote-tracking branch 'jturney/mingw-build-fixes' 2015-05-11 15:36:53 -07:00
xquartz cursor: drop ARGB_CURSOR 2015-06-30 12:17:51 +10:00
xwayland glamor: add support for allocating linear buffers (v2) 2015-06-30 12:17:55 +10:00
xwin hw/xwin/winclipboard: Link xwinclip with -lpthread 2015-04-22 12:55:25 +01:00
Makefile.am Xwayland DDX 2014-04-03 15:19:22 -07:00