summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2009-09-10 11:48:00 +1000
committerDave Airlie <airlied@linux.ie>2009-09-10 11:48:00 +1000
commit0bb0ff0e55aaf8e64017d204e376a14f0a7384a3 (patch)
treefdcdf57a66b94826725e5dada4cfd134e5e1f8dc
parent10a58d54857484b6e89763ecf463f54dc290c702 (diff)
r6xx: fix EXA crash with gtkperf -a
unmapping was getting unbalanced.
-rw-r--r--src/r6xx_accel.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c
index 985595e..3202d51 100644
--- a/src/r6xx_accel.c
+++ b/src/r6xx_accel.c
@@ -48,7 +48,7 @@ void r600_cs_flush_indirect(ScrnInfoPtr pScrn)
if (!info->cs->cdw)
return;
- if (info->accel_state->vb_bo) {
+ if (info->accel_state->vb_ptr) {
radeon_bo_unmap(info->accel_state->vb_bo);
info->accel_state->vb_ptr = NULL;
}
@@ -106,9 +106,10 @@ void R600IBDiscard(ScrnInfoPtr pScrn, drmBufPtr ib)
int ret;
RADEONInfoPtr info = RADEONPTR(pScrn);
if (info->cs) {
- if (info->accel_state->vb_bo)
+ if (info->accel_state->vb_ptr) {
radeon_bo_unmap(info->accel_state->vb_bo);
- info->accel_state->vb_bo = NULL;
+ info->accel_state->vb_ptr = NULL;
+ }
if (CS_FULL(info->cs)) {
r600_cs_flush_indirect(pScrn);
return;