From 77b8392858815625ee7909cf9e866043dab9d074 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Wed, 18 Oct 2017 23:13:58 +0200 Subject: [PATCH] tgsi: fix tgsi_util_get_inst_usage_mask MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The logic for handling shadow coords was completely broken. Fixes be3ab867bd444594f9d9e0f8e59d305d15769afd. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103265 Reviewed-by: Marek Olšák --- src/gallium/auxiliary/tgsi/tgsi_util.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_util.c b/src/gallium/auxiliary/tgsi/tgsi_util.c index be8bcdf1233..cfce59093c2 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_util.c +++ b/src/gallium/auxiliary/tgsi/tgsi_util.c @@ -292,17 +292,17 @@ tgsi_util_get_inst_usage_mask(const struct tgsi_full_instruction *inst, case TGSI_OPCODE_TXL2: case TGSI_OPCODE_LODQ: case TGSI_OPCODE_TG4: { - unsigned dim_layer_shadow = + unsigned dim_layer = tgsi_util_get_texture_coord_dim(inst->Texture.Texture); - unsigned dim_layer, dim; + unsigned dim_layer_shadow, dim; - /* Remove shadow. */ + /* Add shadow. */ if (tgsi_is_shadow_target(inst->Texture.Texture)) { - dim_layer = dim_layer_shadow - 1; + dim_layer_shadow = dim_layer + 1; if (inst->Texture.Texture == TGSI_TEXTURE_SHADOW1D) - dim_layer = 1; + dim_layer_shadow = 3; } else { - dim_layer = dim_layer_shadow; + dim_layer_shadow = dim_layer; } /* Remove layer. */ -- 2.30.2