From: Kenneth Graunke Date: Sat, 9 Sep 2017 07:19:57 +0000 (-0700) Subject: nir: Make nir_shader_gather_info() track texelFetch texture accesses. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a576c148cd77b3abf44cd673c36bc737dfbedc10;p=mesa.git nir: Make nir_shader_gather_info() track texelFetch texture accesses. 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 --- 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