[Mesa-dev] [PATCH v2 1.2/3] nir: Make nir_shader_gather_info() track texelFetch texture accesses.
Nicolai Hähnle
nhaehnle at gmail.com
Thu Oct 12 08:02:24 UTC 2017
On 12.10.2017 09:44, Kenneth Graunke wrote:
> 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.
R-b for both.
>
> 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
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list