summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-12-01 13:20:20 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-12-01 13:20:20 +0000
commit637f003b047e426901cab6b1fe3a0924bcb9a38a (patch)
tree9daa9a60b2d37124e9b19b9e83fd1ff4071e2abe
parentcd5a9568ce0a541f030c27cdae529fe18e5f0437 (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>
-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 801c2c77..4d7ecb7b 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -592,18 +592,6 @@ static Bool i830_uxa_prepare_access(PixmapPtr pixmap, uxa_access_t access)
}
pixmap->devPrivate.ptr = bo->virtual;
- /* 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;
}