mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 14:50:10 +01:00
radv: add radv_disable_dcc_stores and enable for Indiana Jones: The Great Circle
Likely a game bug but can't be 100% sure because the game uses RT by default and renderdoc still doesn't have support for it. Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32528>
This commit is contained in:
parent
1798809985
commit
e3d1f27b31
5 changed files with 12 additions and 0 deletions
|
|
@ -295,6 +295,10 @@ radv_use_dcc_for_image_early(struct radv_device *device, struct radv_image *imag
|
|||
if (instance->drirc.disable_dcc_mips && pCreateInfo->mipLevels > 1)
|
||||
return false;
|
||||
|
||||
/* Force disable DCC for stores to workaround game bugs. */
|
||||
if (instance->drirc.disable_dcc_stores && (pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT))
|
||||
return false;
|
||||
|
||||
/* DCC MSAA can't work on GFX10.3 and earlier without FMASK. */
|
||||
if (pCreateInfo->samples > 1 && pdev->info.gfx_level < GFX11 && (instance->debug_flags & RADV_DEBUG_NO_FMASK))
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -174,6 +174,7 @@ static const driOptionDescription radv_dri_options[] = {
|
|||
DRI_CONF_RADV_DISABLE_TC_COMPAT_HTILE_GENERAL(false)
|
||||
DRI_CONF_RADV_DISABLE_DCC(false)
|
||||
DRI_CONF_RADV_DISABLE_DCC_MIPS(false)
|
||||
DRI_CONF_RADV_DISABLE_DCC_STORES(false)
|
||||
DRI_CONF_RADV_DISABLE_ANISO_SINGLE_LEVEL(false)
|
||||
DRI_CONF_RADV_DISABLE_TRUNC_COORD(false)
|
||||
DRI_CONF_RADV_DISABLE_SINKING_LOAD_INPUT_FS(false)
|
||||
|
|
@ -282,6 +283,7 @@ radv_init_dri_options(struct radv_instance *instance)
|
|||
instance->drirc.vk_require_astc = driQueryOptionb(&instance->drirc.options, "vk_require_astc");
|
||||
|
||||
instance->drirc.disable_dcc_mips = driQueryOptionb(&instance->drirc.options, "radv_disable_dcc_mips");
|
||||
instance->drirc.disable_dcc_stores = driQueryOptionb(&instance->drirc.options, "radv_disable_dcc_stores");
|
||||
}
|
||||
|
||||
static const struct vk_instance_extension_table radv_instance_extensions_supported = {
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ struct radv_instance {
|
|||
bool vk_require_etc2;
|
||||
bool vk_require_astc;
|
||||
bool disable_dcc_mips;
|
||||
bool disable_dcc_stores;
|
||||
char *app_layer;
|
||||
uint8_t override_graphics_shader_version;
|
||||
uint8_t override_compute_shader_version;
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ Application bugs worked around in this file:
|
|||
<application name="Indiana Jones: The Great Circle" application_name_match="TheGreatCircle">
|
||||
<option name="radv_zero_vram" value="true" />
|
||||
<option name="radv_legacy_sparse_binding" value="true" />
|
||||
<option name="radv_disable_dcc_stores" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="DOOM (2016)" application_name_match="DOOM$">
|
||||
|
|
|
|||
|
|
@ -696,6 +696,10 @@
|
|||
DRI_CONF_OPT_B(radv_disable_dcc_mips, def, \
|
||||
"Disable DCC for color images with mips")
|
||||
|
||||
#define DRI_CONF_RADV_DISABLE_DCC_STORES(def) \
|
||||
DRI_CONF_OPT_B(radv_disable_dcc_stores, def, \
|
||||
"Disable DCC for color storage images")
|
||||
|
||||
#define DRI_CONF_RADV_DISABLE_ANISO_SINGLE_LEVEL(def) \
|
||||
DRI_CONF_OPT_B(radv_disable_aniso_single_level, def, \
|
||||
"Disable anisotropic filtering for single level images")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue