ac/nir: don't apply slice rounding on txf_ms
authorDave Airlie <airlied@redhat.com>
Wed, 28 Feb 2018 23:24:01 +0000 (09:24 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 1 Mar 2018 00:04:34 +0000 (10:04 +1000)
This matches the tgsi code.

Fixes arb_texture_multisample texelFetch piglit tests.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fixes: f4e499ec7914 (radv: add initial non-conformant radv vulkan driver)
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c

index 88e0cf9b4b82b740470cdb65be672abcf08bfc66..3c5be7e203641863b7147d827a47f6ece6e6d933 100644 (file)
@@ -5105,7 +5105,7 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr)
                             instr->sampler_dim == GLSL_SAMPLER_DIM_SUBPASS ||
                             instr->sampler_dim == GLSL_SAMPLER_DIM_SUBPASS_MS) &&
                            instr->is_array &&
-                           instr->op != nir_texop_txf) {
+                           instr->op != nir_texop_txf && instr->op != nir_texop_txf_ms) {
                                coords[2] = apply_round_slice(&ctx->ac, coords[2]);
                        }
                        address[count++] = coords[2];