Mesa (master): r600c: add reloc for CB_COLOR0_ATTRIB

Alex Deucher agd5f at kemper.freedesktop.org
Fri Oct 1 00:56:37 UTC 2010


Module: Mesa
Branch: master
Commit: a3e9998614da6bd10d9015134bc19f5b8cf6e518
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3e9998614da6bd10d9015134bc19f5b8cf6e518

Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Thu Sep 30 20:54:26 2010 -0400

r600c: add reloc for CB_COLOR0_ATTRIB

We'll need a reloc for tiling eventually,
so add it now.

---

 src/mesa/drivers/dri/r600/evergreen_chip.c |   14 +++++++++++---
 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 1050c77..5287a98 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);




More information about the mesa-commit mailing list