Mesa (master): nir: Make nir_shader_gather_info() track texelFetch texture accesses.
Kenneth Graunke
kwg at kemper.freedesktop.org
Fri Oct 13 00:24:13 UTC 2017
Module: Mesa
Branch: master
Commit: a576c148cd77b3abf44cd673c36bc737dfbedc10
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a576c148cd77b3abf44cd673c36bc737dfbedc10
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Sep 9 00:19:57 2017 -0700
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 <nicolai.haehnle at amd.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
---
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 ac87bec46c..f46cee7aa5 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
More information about the mesa-commit
mailing list