diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-06-14 07:59:50 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-06-14 08:22:20 +0100 |
commit | 49f265915a4bca52724c345f04cddfeaca972655 (patch) | |
tree | 6c8001fc2d001d37c8ea177cd3de656a1fad6767 | |
parent | 12b8a62652e219de255fdd8b3c801c23274130e9 (diff) |
sna: Compile fix for debugging enabled
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_display.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 4b7fc3f2..170f6927 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -417,11 +417,16 @@ sna_crtc_restore(struct sna *sna) struct kgem_bo *bo; int i; + if (sna->mode.fb_pixmap == sna->front->drawable.serialNumber) + return; + bo = sna_pixmap_pin(sna->front); if (!bo) return; assert(bo->tiling != I915_TILING_Y); + + sna_mode_remove_fb(sna); if (drmModeAddFB(sna->kgem.fd, sna->front->drawable.width, sna->front->drawable.height, @@ -431,7 +436,7 @@ sna_crtc_restore(struct sna *sna) return; DBG(("%s: handle %d attached to fb %d\n", - __FUNCTION__, bo->handle, mode->fb_id)); + __FUNCTION__, bo->handle, sna->mode.fb_id)); for (i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; @@ -456,11 +461,8 @@ sna_crtc_dpms(xf86CrtcPtr crtc, int mode) __FUNCTION__, sna_crtc->pipe, mode, mode == DPMSModeOn)); sna_crtc->active = mode == DPMSModeOn; - if (mode == DPMSModeOn) { - struct sna *sna = sna_crtc->sna; - if (sna->front->drawable.serialNumber != sna->mode.fb_pixmap) - sna_crtc_restore(sna); - } + if (mode == DPMSModeOn) + sna_crtc_restore(sna_crtc->sna); } static Bool |