[Mesa-dev] [PATCH 2/4] radeonsi/gfx9: fix TXF_LZ with 1D textures

Marek Olšák maraeo at gmail.com
Sat Jun 17 13:44:32 UTC 2017


From: Marek Olšák <marek.olsak at amd.com>

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

diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
index e72052c..3b50ca5 100644
--- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
+++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
@@ -1486,21 +1486,22 @@ static void tex_fetch_args(
 	if (num_coords > 1)
 		address[count++] = coords[1];
 	if (num_coords > 2)
 		address[count++] = coords[2];
 
 	/* 1D textures are allocated and used as 2D on GFX9. */
 	if (ctx->screen->b.chip_class >= GFX9) {
 		LLVMValueRef filler;
 
 		/* Use 0.5, so that we don't sample the border color. */
-		if (opcode == TGSI_OPCODE_TXF)
+		if (opcode == TGSI_OPCODE_TXF ||
+		    opcode == TGSI_OPCODE_TXF_LZ)
 			filler = ctx->i32_0;
 		else
 			filler = LLVMConstReal(ctx->f32, 0.5);
 
 		if (target == TGSI_TEXTURE_1D ||
 		    target == TGSI_TEXTURE_SHADOW1D) {
 			address[count++] = filler;
 		} else if (target == TGSI_TEXTURE_1D_ARRAY ||
 			   target == TGSI_TEXTURE_SHADOW1D_ARRAY) {
 			address[count] = address[count - 1];
-- 
2.7.4



More information about the mesa-dev mailing list