summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2012-06-06 12:29:37 +0200
committerMichel Dänzer <michel@daenzer.net>2012-06-06 12:29:37 +0200
commit77a056c1725c9c44a328ed324687bdf35144e9e2 (patch)
treebdff807f856094bb2db2f3347df256234df2ba6f
parent1d9f1eb7e65c57c52759ccbfa51e8bdd5a10acac (diff)
Don't page-flip or wait on a CRTC while we're VT-switched away.
We don't know what the CRTC state is. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
-rw-r--r--src/radeon_dri2.c1
-rw-r--r--src/radeon_video.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 7a9b6256..43514b7b 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -744,6 +744,7 @@ can_flip(ScrnInfoPtr pScrn, DrawablePtr draw,
{
return draw->type == DRAWABLE_WINDOW &&
RADEONPTR(pScrn)->allowPageFlip &&
+ pScrn->vtSema &&
DRI2CanFlip(draw) &&
can_exchange(pScrn, draw, front, back);
}
diff --git a/src/radeon_video.c b/src/radeon_video.c
index d6027358..01703a0c 100644
--- a/src/radeon_video.c
+++ b/src/radeon_video.c
@@ -153,6 +153,9 @@ radeon_pick_best_crtc(ScrnInfoPtr pScrn,
RROutputPtr primary_output = NULL;
xf86CrtcPtr best_crtc = NULL, primary_crtc = NULL;
+ if (!pScrn->vtSema)
+ return NULL;
+
box.x1 = x1;
box.x2 = x2;
box.y1 = y1;