nir/lower_tex: skip lower_tex_packing for the texture samples query
authorIago Toral Quiroga <itoral@igalia.com>
Tue, 4 Aug 2020 09:18:46 +0000 (11:18 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Wed, 5 Aug 2020 06:39:52 +0000 (08:39 +0200)
Similar to other skips for texture queries that don't actually sample
the texture and which results are not packed.

We can't use nir_tex_instr_is_query() here to skip the lowering for all
queries since that causes regressions in Piglit. Apparently, we do want
to lower some of the query results. In particularly, the LOD query.

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6169>

src/compiler/nir/nir_lower_tex.c

index 2e68f2b164eb6de20806a55fe25d73e287943f9e..0d23cde0c288c17d099968416de9acbc56a19adc 100644 (file)
@@ -1086,7 +1086,8 @@ nir_lower_tex_block(nir_block *block, nir_builder *b,
       if (options->lower_tex_packing[tex->sampler_index] !=
           nir_lower_tex_packing_none &&
           tex->op != nir_texop_txs &&
-          tex->op != nir_texop_query_levels) {
+          tex->op != nir_texop_query_levels &&
+          tex->op != nir_texop_texture_samples) {
          lower_tex_packing(b, tex, options);
          progress = true;
       }