mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
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
007f8a8a58
commit
5007e7fcf0
4 changed files with 21 additions and 5 deletions
|
|
@ -859,7 +859,7 @@
|
|||
"description": "radv: fix applying radv_disable_dcc for DOOM 2016 again",
|
||||
"nominated": false,
|
||||
"nomination_type": null,
|
||||
"resolution": 4,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
@ -1309,7 +1309,7 @@
|
|||
"description": "radv: fix applying radv_disable_dcc for DOOM and Wolfenstein II",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "28e1b02a6f12e7a74b4f6970d226f8c9c01515a5"
|
||||
},
|
||||
|
|
@ -4576,7 +4576,7 @@
|
|||
"description": "radv: disable DCC for DOOM 2016 and Wolfenstein II",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "da166f648f61e7f628e20697936667cd9879d074"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -870,6 +870,9 @@ radv_handle_per_app_options(struct radv_instance *instance, const VkApplicationI
|
|||
|
||||
if (driQueryOptionb(&instance->dri_options, "radv_no_dynamic_bounds"))
|
||||
instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS;
|
||||
|
||||
if (driQueryOptionb(&instance->dri_options, "radv_disable_dcc"))
|
||||
instance->debug_flags |= RADV_DEBUG_NO_DCC;
|
||||
}
|
||||
|
||||
static const driOptionDescription radv_dri_options[] = {
|
||||
|
|
@ -878,7 +881,8 @@ static const driOptionDescription radv_dri_options[] = {
|
|||
DRI_CONF_VK_X11_ENSURE_MIN_IMAGE_COUNT(false) DRI_CONF_RADV_REPORT_LLVM9_VERSION_STRING(false)
|
||||
DRI_CONF_RADV_ENABLE_MRT_OUTPUT_NAN_FIXUP(false)
|
||||
DRI_CONF_RADV_DISABLE_SHRINK_IMAGE_STORE(false) DRI_CONF_RADV_NO_DYNAMIC_BOUNDS(false)
|
||||
DRI_CONF_RADV_ABSOLUTE_DEPTH_BIAS(false) DRI_CONF_RADV_OVERRIDE_UNIFORM_OFFSET_ALIGNMENT(0) DRI_CONF_SECTION_END
|
||||
DRI_CONF_RADV_ABSOLUTE_DEPTH_BIAS(false) DRI_CONF_RADV_OVERRIDE_UNIFORM_OFFSET_ALIGNMENT(0)
|
||||
DRI_CONF_RADV_DISABLE_DCC(false) DRI_CONF_SECTION_END
|
||||
|
||||
DRI_CONF_SECTION_DEBUG DRI_CONF_OVERRIDE_VRAM_SIZE()
|
||||
DRI_CONF_VK_WSI_FORCE_BGRA8_UNORM_FIRST(false) DRI_CONF_SECTION_END};
|
||||
|
|
|
|||
|
|
@ -796,6 +796,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="DOOM$">
|
||||
<option name="radv_disable_dcc" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="Wolfenstein II" application_name_match="Wolfenstein II The New Colossus">
|
||||
<option name="radv_disable_dcc" value="true" />
|
||||
</application>
|
||||
</device>
|
||||
</driconf>
|
||||
|
|
|
|||
|
|
@ -490,4 +490,8 @@
|
|||
DRI_CONF_OPT_I(radv_override_uniform_offset_alignment, def, 0, 128, \
|
||||
"Override the minUniformBufferOffsetAlignment exposed to the application. (0 = default)")
|
||||
|
||||
#define DRI_CONF_RADV_DISABLE_DCC(def) \
|
||||
DRI_CONF_OPT_B(radv_disable_dcc, def, \
|
||||
"Disable DCC for color images")
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue