Mesa (10.4): r600g: geom shaders: always load texture src regs from inputs

Emil Velikov evelikov at kemper.freedesktop.org
Wed Nov 19 01:27:28 UTC 2014


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Nov 18 14:06:36 2014 +1000

r600g: geom shaders: always load texture src regs from inputs

Otherwise we seem to lose the split_gs_inputs and try and
pull from an uninitialised register.

fixes 9 texelFetch geom shader tests.

Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>
Cc: "10.3 10.4" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
(cherry picked from commit d4c342f67e128dd9c17e8ae48a44677baf546295)

---

 src/gallium/drivers/r600/r600_shader.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 91df207..ed3d30b 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -4919,7 +4919,8 @@ static inline boolean tgsi_tex_src_requires_loading(struct r600_shader_ctx *ctx,
 	return 	(inst->Src[index].Register.File != TGSI_FILE_TEMPORARY &&
 		inst->Src[index].Register.File != TGSI_FILE_INPUT &&
 		inst->Src[index].Register.File != TGSI_FILE_OUTPUT) ||
-		ctx->src[index].neg || ctx->src[index].abs;
+		ctx->src[index].neg || ctx->src[index].abs ||
+		(inst->Src[index].Register.File == TGSI_FILE_INPUT && ctx->type == TGSI_PROCESSOR_GEOMETRY);
 }
 
 static inline unsigned tgsi_tex_get_src_gpr(struct r600_shader_ctx *ctx,




More information about the mesa-commit mailing list