summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-20 10:15:26 +1000
committerDave Airlie <airlied@redhat.com>2010-09-20 10:15:26 +1000
commit3d12c207d7f9f1d25a0ee7f1bf94ce9a7f70dff3 (patch)
tree2e5dff7ed5100fe9b2bfde065513dd19e143e9f4
parentf59fe9671f29f37b02540c21957a673f8dfedc1a (diff)
r600g: send correct surface base update for multi-cbufs
-rw-r--r--src/gallium/winsys/r600/drm/r600_state.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_state.c b/src/gallium/winsys/r600/drm/r600_state.c
index b04885a85f7..57fc12ccf1a 100644
--- a/src/gallium/winsys/r600/drm/r600_state.c
+++ b/src/gallium/winsys/r600/drm/r600_state.c
@@ -335,12 +335,14 @@ static void r600_state_pm4_with_flush(struct radeon_state *state, u32 flags, int
static int r600_state_pm4_cb0(struct radeon_state *state)
{
int r;
-
+ uint32_t sbu;
r = r600_state_pm4_generic(state);
if (r)
return r;
+
+ sbu = (2 << (state->stype->stype - R600_STATE_CB0));
state->pm4[state->cpm4++] = PKT3(PKT3_SURFACE_BASE_UPDATE, 0);
- state->pm4[state->cpm4++] = 0x00000002;
+ state->pm4[state->cpm4++] = sbu;
return 0;
}