For TGSI-based drivers, st_glsl_to_tgsi records this information. For NIR-based drivers, nir_shader_gather_info() will do so. --- src/compiler/nir/nir_gather_info.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
Patches 1.1 and 1.2 here replace: [PATCH 1/3] compiler: Track which textures are accessed via texelFetch(). now that Nicolai's patches have landed. 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.14.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev