summaryrefslogtreecommitdiff
path: root/src/i830_uxa.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-12-01 13:20:20 +0000
committerOwain G. Ainsworth <oga@openbsd.org>2010-03-01 18:47:30 +0000
commitc427efd704803affc054ea90d8e461b3370d5113 (patch)
tree4e47c1bdcf7391d918a7e0045a5262d5366cf5c1 /src/i830_uxa.c
parent9d48d56fcf634b8bee3a7d45d47543abf03b7a32 (diff)
uxa: Don't treat prepare_access as a flush synchronisation point.
The kernel will only emit a flush iff the buffer is currently owned by the GPU. Instead of presuming that the kernel must emit a flush, it is safer to assume that it does not and so cannot mapping the buffer on to the CPU as a synchronisation point. The most obvious counter-example is when we map the same buffer twice without using it in a batch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 637f003b047e426901cab6b1fe3a0924bcb9a38a) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Diffstat (limited to 'src/i830_uxa.c')
-rw-r--r--src/i830_uxa.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/src/i830_uxa.c b/src/i830_uxa.c
index 424a0a56..2f1b48e9 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -609,18 +609,6 @@ static Bool i830_uxa_prepare_access(PixmapPtr pixmap, uxa_access_t access)
} else
i830_wait_ring_idle(scrn);
- /* This acts as a synchronisation point. */
- while (!list_is_empty(&intel->flush_pixmaps)) {
- struct intel_pixmap *entry;
-
- entry = list_first_entry(&intel->flush_pixmaps,
- struct intel_pixmap,
- flush);
-
- entry->flush_read_domains = entry->flush_write_domain = 0;
- list_del(&entry->flush);
- }
-
return TRUE;
}