From e97edac66dca7afc5c0bdacd2b67ef3574d24976 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 28 Oct 2022 09:45:42 -0400 Subject: [PATCH] zink: don't double-deref bindless texture arrays in shaders these are already dereferenced Fixes: b2fcb34e976 ("zink: rework sampler emission") Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index ad3f48aeeb4..d57943d21dd 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -3703,7 +3703,7 @@ emit_tex(struct ntv_context *ctx, nir_tex_instr *tex) unsigned texture_index = tex->texture_index; nir_variable *var = bindless_var ? bindless_var : ctx->sampler_var[tex->texture_index]; - if (!tex_offset || !var) { + if (!bindless_var && (!tex_offset || !var)) { if (ctx->sampler_var[texture_index]) { if (glsl_type_is_array(ctx->sampler_var[texture_index]->type)) tex_offset = emit_uint_const(ctx, 32, 0);