diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-08-22 11:45:18 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2015-08-22 11:45:18 +0100 |
commit | 5daec5173ed273d038bf7aa435f9aac0efba4bc6 (patch) | |
tree | 28238baa6e5cbea91cba9148158d6b406a75cc19 /src | |
parent | 275d8b039a5e2e9937c4015355dddd57a301c028 (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.c | 4 |
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)) |