Mesa (master): radeonsi: fix texture loads from sampler > 0

Christian König deathsimple at kemper.freedesktop.org
Thu Aug 2 10:08:54 UTC 2012


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

Author: Christian König <deathsimple at vodafone.de>
Date:   Wed Aug  1 15:20:07 2012 +0200

radeonsi: fix texture loads from sampler > 0

The backend is multiplying the offset by the numbers of
elements anyway, so doing it twice just makes everything
crash.

Signed-off-by: Christian König <deathsimple at vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/radeonsi_shader.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index f90fd1d..81b44a7 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -529,14 +529,14 @@ static void tex_fetch_args(
 	/* Resource */
 	ptr = use_sgpr(bld_base->base.gallivm, SGPR_CONST_PTR_V8I32, 4);
 	offset = lp_build_const_int32(bld_base->base.gallivm,
-				  8 * emit_data->inst->Src[1].Register.Index);
+				  emit_data->inst->Src[1].Register.Index);
 	emit_data->args[2] = build_indexed_load(bld_base->base.gallivm,
 						ptr, offset);
 
 	/* Sampler */
 	ptr = use_sgpr(bld_base->base.gallivm, SGPR_CONST_PTR_V4I32, 2);
 	offset = lp_build_const_int32(bld_base->base.gallivm,
-				  4 * emit_data->inst->Src[1].Register.Index);
+				  emit_data->inst->Src[1].Register.Index);
 	emit_data->args[3] = build_indexed_load(bld_base->base.gallivm,
 						ptr, offset);
 




More information about the mesa-commit mailing list