summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Nieminen <suokkos@gmail.com>2009-08-18 14:30:51 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-08-18 14:32:45 -0400
commitf9b8562f32b77a27c872d4c70a86995032541107 (patch)
tree8ea814735adba05cad54ce3098c274957dc5e338
parent657109bbc659c77b41d929a1585fc251fb1caba3 (diff)
radeon: balance dma buffer mapping
In radeonRefillCurrentDmaRegion() make sure we unmap the previous buffer.
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_dma.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_dma.c b/src/mesa/drivers/dri/radeon/radeon_dma.c
index b2376ea28b..30191845b9 100644
--- a/src/mesa/drivers/dri/radeon/radeon_dma.c
+++ b/src/mesa/drivers/dri/radeon/radeon_dma.c
@@ -180,6 +180,10 @@ void radeonRefillCurrentDmaRegion(radeonContextPtr rmesa, int size)
rmesa->dma.flush(rmesa->glCtx);
}
+ /* unmap old reserved bo */
+ if (!is_empty_list(&rmesa->dma.reserved))
+ radeon_bo_unmap(first_elem(&rmesa->dma.reserved)->bo);
+
if (is_empty_list(&rmesa->dma.free)) {
struct radeon_dma_bo *dma_bo = CALLOC(sizeof(struct radeon_dma_bo));
assert(dma_bo);