radv: replace discard with demote for Quantic Dream games
authorRhys Perry <pendingchaos02@gmail.com>
Mon, 20 Jul 2020 15:54:22 +0000 (16:54 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 21 Jul 2020 11:34:23 +0000 (11:34 +0000)
Detroit: Become Human uses dFdx/dFdy immediately after a quad-divergent
discard, which can cause the image to become white.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3212
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5991>

src/amd/vulkan/radv_device.c

index 53a6a3d4309a9a627749bfa8c4afdc90f87e9e26..b9969e4e5eb441ea925fb95e22dc40f767b2abd2 100644 (file)
@@ -571,7 +571,8 @@ radv_handle_per_app_options(struct radv_instance *instance,
                        instance->debug_flags |= RADV_DEBUG_ZERO_VRAM;
                } else if (!strcmp(engine_name, "Quantic Dream Engine")) {
                        /* Fix various artifacts in Detroit: Become Human */
-                       instance->debug_flags |= RADV_DEBUG_ZERO_VRAM;
+                       instance->debug_flags |= RADV_DEBUG_ZERO_VRAM |
+                                                RADV_DEBUG_DISCARD_TO_DEMOTE;
                }
        }