From 684ce43507509d247f4b34cb6705e37e3f58e651 Mon Sep 17 00:00:00 2001 From: Illia Polishchuk Date: Mon, 11 Sep 2023 16:10:57 +0300 Subject: [PATCH] nir: fix invalid sampler search by texture id Sampler id cannot be mapped to a uniform object location Fixes: 1a8dd84ec61 ("nir: Propagate the type sampler type change to the used variable.") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9793 Reviewed-By: Mike Blumenkrantz Signed-off-by: Illia Polishchuk Part-of: (cherry picked from commit b8a54c50a6a425e95a3ce72986a32b630729814a) --- .pick_status.json | 2 +- src/compiler/nir/nir_remove_tex_shadow.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index caf9d537027..2ec991cd3b6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3904,7 +3904,7 @@ "description": "nir: fix invalid sampler search by texture id", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "1a8dd84ec613f6e89ef5f180d79cddde0cd93d52", "notes": null diff --git a/src/compiler/nir/nir_remove_tex_shadow.c b/src/compiler/nir/nir_remove_tex_shadow.c index 4d37d64df10..37e9ee98cfd 100644 --- a/src/compiler/nir/nir_remove_tex_shadow.c +++ b/src/compiler/nir/nir_remove_tex_shadow.c @@ -86,7 +86,8 @@ remove_tex_shadow(struct nir_builder *b, nir_instr *instr, void *data) sampler->type = strip_shadow_with_array(sampler->type); sampler_deref->type = sampler->type; } else { - sampler = nir_find_variable_with_location(b->shader, nir_var_uniform, tex->sampler_index); + sampler = nir_find_sampler_variable_with_tex_index(b->shader, + tex->texture_index); sampler->type = strip_shadow_with_array(sampler->type); }