summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-14 07:59:50 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-14 08:22:20 +0100
commit49f265915a4bca52724c345f04cddfeaca972655 (patch)
tree6c8001fc2d001d37c8ea177cd3de656a1fad6767
parent12b8a62652e219de255fdd8b3c801c23274130e9 (diff)
sna: Compile fix for debugging enabled
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c14
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