From a576c148cd77b3abf44cd673c36bc737dfbedc10 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 9 Sep 2017 00:19:57 -0700 Subject: [PATCH] nir: Make nir_shader_gather_info() track texelFetch texture accesses. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit For TGSI-based drivers, st_glsl_to_tgsi records this information. For NIR-based drivers, nir_shader_gather_info() will do so. Reviewed-by: Nicolai Hähnle Reviewed-by: Jason Ekstrand --- src/compiler/nir/nir_gather_info.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index ac87bec46c0..f46cee7aa5e 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -264,8 +264,20 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader) static void gather_tex_info(nir_tex_instr *instr, nir_shader *shader) { - if (instr->op == nir_texop_tg4) + switch (instr->op) { + case nir_texop_tg4: shader->info.uses_texture_gather = true; + break; + case nir_texop_txf: + case nir_texop_txf_ms: + case nir_texop_txf_ms_mcs: + shader->info.textures_used_by_txf |= + ((1 << MAX2(instr->texture_array_size, 1)) - 1) << + instr->texture_index; + break; + default: + break; + } } static void -- 2.30.2