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 9b9619b..2d91ded 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) {