summaryrefslogtreecommitdiff
path: root/src/sna/sna_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-07-06 20:19:00 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-07-07 11:50:12 +0100
commitd180c5f5f781f4fa7f747dd7bb8073a20771cd79 (patch)
tree47929b8e69e35b302477b4c2895097a17a4bf111 /src/sna/sna_display.c
parent0be47f459ba576ed3f93367de18732fb2367357a (diff)
sna: Take advantage of the needs_flush tracking on the front buffer
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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 1586884b..b3b3185e 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1787,6 +1787,12 @@ sna_do_pageflip(struct sna *sna,
sna->mode.fb_pixmap = pixmap->drawable.serialNumber;
bo->cpu_read = bo->cpu_write = false;
bo->gpu = true;
+
+ /* Although the kernel performs an implicit flush upon
+ * page-flipping, marking the bo as requiring a flush
+ * here ensures that the buffer goes into the active cache
+ * upon release.
+ */
bo->needs_flush = true;
} else {
drmModeRmFB(sna->kgem.fd, mode->fb_id);