diff options
author | Dave Airlie <airlied@linux.ie> | 2009-09-25 11:37:38 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2009-09-25 11:39:57 +1000 |
commit | 8f80e37eed3ec028718b4e71bbb9b598847fd94e (patch) | |
tree | 64957978b8b2fe3abb3aaf7d2947a4369654c584 /src/r6xx_accel.c | |
parent | 90669f6cb5ada9067d6fccc7f54c69b367862f42 (diff) |
r600: space check wasn't correct.
the r6xx space check code was incorrect for the DFS case, since
the dst bo was in GTT but the hardcoded cp_start function
assumed the bos were where it thought.
Ripped out assumptions and replaced with code more like other radeons.
Diffstat (limited to 'src/r6xx_accel.c')
-rw-r--r-- | src/r6xx_accel.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c index 3202d515..0e2f8a93 100644 --- a/src/r6xx_accel.c +++ b/src/r6xx_accel.c @@ -1203,25 +1203,10 @@ r600_cp_start(ScrnInfoPtr pScrn) if (info->cs) { if (!r600_vb_get(pScrn)) return -1; - radeon_cs_space_reset_bos(info->cs); - radeon_cs_space_add_persistent_bo(info->cs, accel_state->shaders_bo, - RADEON_GEM_DOMAIN_VRAM, 0); - if (accel_state->src_bo[0]) - radeon_cs_space_add_persistent_bo(info->cs, accel_state->src_bo[0], - RADEON_GEM_DOMAIN_VRAM, 0); - if (accel_state->src_bo[1]) - radeon_cs_space_add_persistent_bo(info->cs, accel_state->src_bo[1], - RADEON_GEM_DOMAIN_VRAM, 0); - if (accel_state->dst_bo) - radeon_cs_space_add_persistent_bo(info->cs, accel_state->dst_bo, - RADEON_GEM_DOMAIN_VRAM, 0); if (accel_state->vb_bo) - radeon_cs_space_add_persistent_bo(info->cs, accel_state->vb_bo, - RADEON_GEM_DOMAIN_GTT, 0); - if (accel_state->copy_area_bo) - radeon_cs_space_add_persistent_bo(info->cs, - accel_state->copy_area_bo, - RADEON_GEM_DOMAIN_VRAM, 0); + radeon_cs_space_add_persistent_bo(info->cs, accel_state->vb_bo, + RADEON_GEM_DOMAIN_GTT, 0); + radeon_cs_space_check(info->cs); } else #endif |