summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-08-22 11:45:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-08-22 11:45:18 +0100
commit5daec5173ed273d038bf7aa435f9aac0efba4bc6 (patch)
tree28238baa6e5cbea91cba9148158d6b406a75cc19 /src
parent275d8b039a5e2e9937c4015355dddd57a301c028 (diff)
sna/dri2: Do not attempt to queue an off-screen vblank if the primary is off
Even though the kernel reports and error and we skip the queuing, we have information to avoid the roundtrip through the kernel. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/sna/sna_dri2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index d5eeb072..3592dd56 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -3336,9 +3336,9 @@ blit:
}
skip:
DBG(("%s: unable to show frame, unblocking client\n", __FUNCTION__));
- if (crtc == NULL && draw->type != DRAWABLE_PIXMAP)
+ if (crtc == NULL && (sna->flags & SNA_NO_WAIT) == 0)
crtc = sna_primary_crtc(sna);
- if (crtc && (sna->flags & SNA_NO_WAIT) == 0) {
+ if (crtc && sna_crtc_is_on(crtc)) {
if (info == NULL)
info = sna_dri2_add_event(sna, draw, client, crtc);
if (info != dri2_chain(draw))