summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2010-09-30 20:54:26 -0400
committerAlex Deucher <[email protected]>2010-09-30 20:55:54 -0400
commita3e9998614da6bd10d9015134bc19f5b8cf6e518 (patch)
treee04452062dc45ef7133a985485ad1cded494eb4e /src
parent5eccdc62b998a6b3a82d9fd204db733d4852fc73 (diff)
r600c: add reloc for CB_COLOR0_ATTRIB
We'll need a reloc for tiling eventually, so add it now.
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/r600/evergreen_chip.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/r600/evergreen_chip.c b/src/mesa/drivers/dri/r600/evergreen_chip.c
index 1050c776bf7..5287a98c053 100644
--- a/src/mesa/drivers/dri/r600/evergreen_chip.c
+++ b/src/mesa/drivers/dri/r600/evergreen_chip.c
@@ -1415,9 +1415,17 @@ static void evergreenSendCB(GLcontext *ctx, struct radeon_state_atom *atom)
R600_OUT_BATCH(evergreen->render_target[id].CB_COLOR0_VIEW.u32All);
END_BATCH();
- BEGIN_BATCH_NO_AUTOSTATE(4);
- EVERGREEN_OUT_BATCH_REGSEQ(EG_CB_COLOR0_ATTRIB, 2);
+ BEGIN_BATCH_NO_AUTOSTATE(3 + 2);
+ EVERGREEN_OUT_BATCH_REGSEQ(EG_CB_COLOR0_ATTRIB, 1);
R600_OUT_BATCH(evergreen->render_target[id].CB_COLOR0_ATTRIB.u32All);
+ R600_OUT_BATCH_RELOC(0,
+ rrb->bo,
+ 0,
+ 0, RADEON_GEM_DOMAIN_VRAM, 0);
+ END_BATCH();
+
+ BEGIN_BATCH_NO_AUTOSTATE(3);
+ EVERGREEN_OUT_BATCH_REGSEQ(EG_CB_COLOR0_DIM, 1);
R600_OUT_BATCH(evergreen->render_target[id].CB_COLOR0_DIM.u32All);
/*
R600_OUT_BATCH(evergreen->render_target[id].CB_COLOR0_CMASK.u32All);
@@ -1523,7 +1531,7 @@ void evergreenInitAtoms(context_t *context)
EVERGREEN_ALLOC_STATE(sx, always, 9, evergreenSendSX);
EVERGREEN_ALLOC_STATE(tx, evergreen_tx, (R700_TEXTURE_NUMBERUNITS * (21+5) + 6), evergreenSendTexState); /* 21 for resource, 5 for sampler */
EVERGREEN_ALLOC_STATE(db, always, 65, evergreenSendDB);
- EVERGREEN_ALLOC_STATE(cb, always, 33, evergreenSendCB);
+ EVERGREEN_ALLOC_STATE(cb, always, 37, evergreenSendCB);
EVERGREEN_ALLOC_STATE(vgt, always, 29, evergreenSendVGT);
evergreen_init_query_stateobj(&context->radeon, 6 * 2);