diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-12-01 13:20:20 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-12-01 13:20:20 +0000 |
commit | 637f003b047e426901cab6b1fe3a0924bcb9a38a (patch) | |
tree | 9daa9a60b2d37124e9b19b9e83fd1ff4071e2abe | |
parent | cd5a9568ce0a541f030c27cdae529fe18e5f0437 (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.c | 12 |
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; } |