summaryrefslogtreecommitdiff
path: root/src/sna/sna_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-17 09:40:53 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-17 09:44:06 +0100
commitde0286ed9f7814f903d56e488c7a4b3eb0ca56b0 (patch)
tree99567f76786fbdb737c5cbf59596c5e16207498b /src/sna/sna_display.c
parentf3869d60cc3bc349d1efba642baa011378f1c09b (diff)
sna/display: After copying the fbcon, tell the server that we have a background
... so that the core knows to skip the clear. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_display.c')
-rw-r--r--src/sna/sna_display.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index c1913dec..a0acea29 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -501,6 +501,7 @@ void sna_copy_fbcon(struct sna *sna)
struct sna_pixmap *priv;
struct kgem_bo *bo;
BoxRec box;
+ bool ok;
int i;
/* Scan the connectors for a framebuffer and assume that is the fbcon */
@@ -533,16 +534,18 @@ void sna_copy_fbcon(struct sna *sna)
priv = sna_pixmap(sna->front);
assert(priv && priv->gpu_bo);
- sna->render.copy_boxes(sna, GXcopy,
- sna->front, bo, 0, 0,
- sna->front, priv->gpu_bo,
- (sna->front->drawable.width - fbcon->width)/2,
- (sna->front->drawable.height - fbcon->height)/2,
- &box, 1);
+ ok = sna->render.copy_boxes(sna, GXcopy,
+ sna->front, bo, 0, 0,
+ sna->front, priv->gpu_bo,
+ (sna->front->drawable.width - fbcon->width)/2,
+ (sna->front->drawable.height - fbcon->height)/2,
+ &box, 1);
sna_damage_add_box(&priv->gpu_damage, &box);
kgem_bo_destroy(&sna->kgem, bo);
+ sna->scrn->pScreen->canDoBGNoneRoot = ok;
+
cleanup_fbcon:
drmModeFreeFB(fbcon);
}