diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-12-01 13:20:20 +0000 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-03-01 18:47:30 +0000 |
commit | c427efd704803affc054ea90d8e461b3370d5113 (patch) | |
tree | 4e47c1bdcf7391d918a7e0045a5262d5366cf5c1 /src/i830_uxa.c | |
parent | 9d48d56fcf634b8bee3a7d45d47543abf03b7a32 (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.c | 12 |
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; } |