diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-06-17 09:40:53 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-06-17 09:44:06 +0100 |
commit | de0286ed9f7814f903d56e488c7a4b3eb0ca56b0 (patch) | |
tree | 99567f76786fbdb737c5cbf59596c5e16207498b /src/sna/sna_display.c | |
parent | f3869d60cc3bc349d1efba642baa011378f1c09b (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.c | 15 |
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); } |