Mesa (r6xx-rewrite): R6xx/R7xx: fix texture reloc emit

Alex Deucher agd5f at kemper.freedesktop.org
Tue Jul 7 19:43:13 UTC 2009


Module: Mesa
Branch: r6xx-rewrite
Commit: 0396795689dd82be31d22be83307511d223ebcf2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0396795689dd82be31d22be83307511d223ebcf2

Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Tue Jul  7 15:40:28 2009 -0400

R6xx/R7xx: fix texture reloc emit

Textures don't look right yet, but tex demos run.

---

 src/mesa/drivers/dri/r600/r700_render.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_render.c b/src/mesa/drivers/dri/r600/r700_render.c
index bcafdfb..413c611 100644
--- a/src/mesa/drivers/dri/r600/r700_render.c
+++ b/src/mesa/drivers/dri/r600/r700_render.c
@@ -145,15 +145,17 @@ GLboolean r700SendTextureState(context_t *context)
 		    else
 			    bo = t->bo;
 		    if (bo) {
-			    BEGIN_BATCH_NO_AUTOSTATE(14);
+			    BEGIN_BATCH_NO_AUTOSTATE(9);
 			    R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_RESOURCE, 7));
 			    R600_OUT_BATCH(i * 7);
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE0);
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE1);
+			    printf("tex base\n");
 			    R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE2,
 						 bo,
 						 0,
 						 RADEON_GEM_DOMAIN_GTT|RADEON_GEM_DOMAIN_VRAM, 0, 0, &offset_mod);
+			    printf("tex mipbase\n");
 			    R600_OUT_BATCH_RELOC(r700->textures[i]->SQ_TEX_RESOURCE3,
 						 bo,
 						 0,
@@ -161,7 +163,9 @@ GLboolean r700SendTextureState(context_t *context)
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE4);
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE5);
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_RESOURCE6);
+			    END_BATCH();
 
+			    BEGIN_BATCH_NO_AUTOSTATE(5);
 			    R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_SAMPLER, 3));
 			    R600_OUT_BATCH(i * 3);
 			    R600_OUT_BATCH(r700->textures[i]->SQ_TEX_SAMPLER0);




More information about the mesa-commit mailing list