radv: fix centroid interpolation
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 21 May 2018 09:15:51 +0000 (11:15 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 21 May 2018 11:57:46 +0000 (13:57 +0200)
It's legal to set the centroid and sample interpolation modes
when MSAA disabled. So, we have to initialize the centroid
inputs because the hardware doesn't.

This fixes rendering issues with DXVK and The Witness, World of
Warcraft, Trackmania and probably more games.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106315
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102390
CC: 18.0 18.1 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_nir_to_llvm.c

index 9b9619b877ea02cd97a802f9556ddad2ece3dc0f..2d91ded7fe51f6d8ddd1afaa2aba30a1d4eba65d 100644 (file)
@@ -2075,9 +2075,6 @@ static void
 prepare_interp_optimize(struct radv_shader_context *ctx,
                         struct nir_shader *nir)
 {
-       if (!ctx->options->key.fs.multisample)
-               return;
-
        bool uses_center = false;
        bool uses_centroid = false;
        nir_foreach_variable(variable, &nir->inputs) {