xserver-multidpi/hw/xfree86/dri2
Mario Kleiner 75beadd766 DRI2/xserver: Don't hang in glXSwapBuffers if drawable moves between crtc's (bug 28383)
Detect if a drawable has been moved from an original crtc to a new crtc
with a lower current vblank count than the original crtc inbetween
glXSwapBuffers() calls. Reinitialize drawable's last_swap_target
before scheduling next swap if such a move has taken place.

last_swap_target defines the baseline for scheduling the next swap.
If a movement between crtc's is not taken into account, the swap may
schedule for a vblank count on the new crtc far in the future, resulting
in a apparent "hang" of the drawable for a long time.

Fixes Bugzilla bug #28383.

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-17 23:54:27 -07:00
..
dri2.c DRI2/xserver: Don't hang in glXSwapBuffers if drawable moves between crtc's (bug 28383) 2010-06-17 23:54:27 -07:00
dri2.h DRI2: Don't return junk reply instead of blocking in glXWaitForSbcOML() 2010-06-10 06:43:46 -07:00
dri2ext.c dri2: Only deal with output windows and pixmaps. 2010-06-10 07:20:03 -07:00
Makefile.am Don't reuse PKG_CHECK_MODULES identifiers 2009-01-18 09:49:06 -08:00