radv: disable DCC for X4 Foundations to workaround a GPU hang

Submitted by Samuel Pitoiset on March 6, 2019, 6:39 p.m.

Details

Message ID 20190306183944.4204-1-samuel.pitoiset@gmail.com
State Rejected
Headers show
Series "radv: disable DCC for X4 Foundations to workaround a GPU hang" ( rev: 1 ) in Mesa

Not browsing as part of any series.

Commit Message

Samuel Pitoiset March 6, 2019, 6:39 p.m.
The game apparently hangs inside a copy image operation, but
only when DCC is enabled. I haven't figured out the root cause
yet, but this workaround fixes the problem and allows people
to play that title, at least.

Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
---
 src/amd/vulkan/radv_device.c | 6 ++++++
 1 file changed, 6 insertions(+)

Patch hide | download patch | download mbox

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index fc04de21025..bb76885d986 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -510,6 +510,12 @@  radv_handle_per_app_options(struct radv_instance *instance,
 	} else if (!strcmp(name, "DOOM_VFR")) {
 		/* Work around a Doom VFR game bug */
 		instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS;
+	} else if (!strcmp(name, "X4")) {
+		/* FIXME: X4 Foundations hangs the GPU on GFX9. It seems to
+		 * work on GFX8, but I think it's safer to disable DCC
+		 * everywhere for now.
+		 */
+		instance->debug_flags |= RADV_DEBUG_NO_DCC;
 	}
 }
 

Comments

Superseded by 
https://patchwork.freedesktop.org/patch/290846/?series=57689&rev=1

On 3/6/19 7:39 PM, Samuel Pitoiset wrote:
> The game apparently hangs inside a copy image operation, but
> only when DCC is enabled. I haven't figured out the root cause
> yet, but this workaround fixes the problem and allows people
> to play that title, at least.
>
> Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
> ---
>   src/amd/vulkan/radv_device.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
> index fc04de21025..bb76885d986 100644
> --- a/src/amd/vulkan/radv_device.c
> +++ b/src/amd/vulkan/radv_device.c
> @@ -510,6 +510,12 @@ radv_handle_per_app_options(struct radv_instance *instance,
>   	} else if (!strcmp(name, "DOOM_VFR")) {
>   		/* Work around a Doom VFR game bug */
>   		instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS;
> +	} else if (!strcmp(name, "X4")) {
> +		/* FIXME: X4 Foundations hangs the GPU on GFX9. It seems to
> +		 * work on GFX8, but I think it's safer to disable DCC
> +		 * everywhere for now.
> +		 */
> +		instance->debug_flags |= RADV_DEBUG_NO_DCC;
>   	}
>   }
>
Please ignore this fix too, the GPU hang is actually unrelated to DCC.

On 3/6/19 7:39 PM, Samuel Pitoiset wrote:
> The game apparently hangs inside a copy image operation, but
> only when DCC is enabled. I haven't figured out the root cause
> yet, but this workaround fixes the problem and allows people
> to play that title, at least.
>
> Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
> ---
>   src/amd/vulkan/radv_device.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
> index fc04de21025..bb76885d986 100644
> --- a/src/amd/vulkan/radv_device.c
> +++ b/src/amd/vulkan/radv_device.c
> @@ -510,6 +510,12 @@ radv_handle_per_app_options(struct radv_instance *instance,
>   	} else if (!strcmp(name, "DOOM_VFR")) {
>   		/* Work around a Doom VFR game bug */
>   		instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS;
> +	} else if (!strcmp(name, "X4")) {
> +		/* FIXME: X4 Foundations hangs the GPU on GFX9. It seems to
> +		 * work on GFX8, but I think it's safer to disable DCC
> +		 * everywhere for now.
> +		 */
> +		instance->debug_flags |= RADV_DEBUG_NO_DCC;
>   	}
>   }
>