summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-08-14 01:33:45 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-08-14 01:37:36 -0400
commit7069a7548f17bec2b6525775a496f1afb6364c38 (patch)
tree74fc8f5630cb355267e4c22e3707d47601c37887 /src
parentceb9459ed5e63207defa5d715958c2757933272f (diff)
r600: emit SURFACE_BASE_UPDATE on depth base updates on rv6xx
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/r600/r700_chip.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c
index 9bb3fcd68f..0fb355a0b6 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -528,6 +528,14 @@ GLboolean r700SendDepthTargetState(context_t *context)
R600_OUT_BATCH(r700->DB_DEPTH_INFO.u32All);
END_BATCH();
+ if ((context->radeon.radeonScreen->chip_family > CHIP_FAMILY_R600) &&
+ (context->radeon.radeonScreen->chip_family < CHIP_FAMILY_RV770)) {
+ BEGIN_BATCH_NO_AUTOSTATE(2);
+ R600_OUT_BATCH(CP_PACKET3(R600_IT_SURFACE_BASE_UPDATE, 0));
+ R600_OUT_BATCH(1 << 0);
+ END_BATCH();
+ }
+
COMMIT_BATCH();
r700SyncSurf(context, rrb->bo, 0, RADEON_GEM_DOMAIN_VRAM,