radv: disable DCC for DOOM 2016 and Wolfenstein II
Both games perform two image layout transitions with the same image
in the same pipeline barrier with UNDEFINED and this re-initializes
DCC to the uncompressed state. No ideal solution sadly. Note that
both games declare all images as CONCURRENT.
This fixes rendering issues on GFX10+ because DCC for stores is
supported and this implicitly enables DCC for concurrent.
Fixes: da166f648f
("radv: enable DCC for concurrent images on GFX10")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4927
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4607
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11656>
This commit is contained in:
parent
d9c0687a54
commit
28e1b02a6f
|
@ -859,6 +859,7 @@ static const driOptionDescription radv_dri_options[] = {
|
|||
DRI_CONF_RADV_LOWER_DISCARD_TO_DEMOTE(false)
|
||||
DRI_CONF_RADV_INVARIANT_GEOM(false)
|
||||
DRI_CONF_RADV_DISABLE_TC_COMPAT_HTILE_GENERAL(false)
|
||||
DRI_CONF_RADV_DISABLE_DCC(false)
|
||||
DRI_CONF_SECTION_END
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -895,6 +896,9 @@ radv_init_dri_options(struct radv_instance *instance)
|
|||
|
||||
if (driQueryOptionb(&instance->dri_options, "radv_invariant_geom"))
|
||||
instance->debug_flags |= RADV_DEBUG_INVARIANT_GEOM;
|
||||
|
||||
if (driQueryOptionb(&instance->dri_options, "radv_disable_dcc"))
|
||||
instance->debug_flags |= RADV_DEBUG_NO_DCC;
|
||||
}
|
||||
|
||||
VkResult
|
||||
|
|
|
@ -829,6 +829,14 @@ TODO: document the other workarounds.
|
|||
|
||||
<application name="Monster Hunter World" application_name_match="MonsterHunterWorld.exe">
|
||||
<option name="radv_invariant_geom" value="true" />
|
||||
</application>
|
||||
</application>
|
||||
|
||||
<application name="DOOM (2016)" application_name_match="DOOMx64vk.exe">
|
||||
<option name="radv_disable_dcc" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="Wolfenstein II" application_name_match="NewColossus_x64vk.exe">
|
||||
<option name="radv_disable_dcc" value="true" />
|
||||
</application>
|
||||
</device>
|
||||
</driconf>
|
||||
|
|
|
@ -509,4 +509,8 @@
|
|||
DRI_CONF_OPT_B(radv_disable_tc_compat_htile_general, def, \
|
||||
"Disable TC-compat HTILE in GENERAL layout")
|
||||
|
||||
#define DRI_CONF_RADV_DISABLE_DCC(def) \
|
||||
DRI_CONF_OPT_B(radv_disable_dcc, def, \
|
||||
"Disable DCC for color images")
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue