radv: remove the radv_report_apu_as_dgpu workaround for Red Dead Redemption 2
This workaround looks actually broken. We added it in the past because otherwise the game would just report 3GiB of video memory (ie. size of GTT on SD). Though, with this workaround enabled, the game explodes in memory easily. One theory is that because we fake integrated GPUs as discrete GPUS, and because we report 6GiB of VRAM (ie. driver redistributes memory for small carveout), the game thinks there is 6GiB of VRAM only and then keep allocating stuff. People reported that the memory explosion is gone without this workaround applied and I confirmed this myself. 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/17421>
This commit is contained in:
parent
b45cec260c
commit
30846f1596
|
@ -118,10 +118,6 @@ Application bugs worked around in this file:
|
|||
<option name="radv_disable_dcc" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="RDR2" application_name_match="Red Dead Redemption 2">
|
||||
<option name="radv_report_apu_as_dgpu" value="true" />
|
||||
</application>
|
||||
|
||||
<application name="Resident Evil Village" application_name_match="re8.exe">
|
||||
<option name="radv_invariant_geom" value="true" />
|
||||
</application>
|
||||
|
|
|
@ -986,7 +986,6 @@ static const driOptionDescription radv_dri_options[] = {
|
|||
DRI_CONF_RADV_SPLIT_FMA(false)
|
||||
DRI_CONF_RADV_DISABLE_TC_COMPAT_HTILE_GENERAL(false)
|
||||
DRI_CONF_RADV_DISABLE_DCC(false)
|
||||
DRI_CONF_RADV_REPORT_APU_AS_DGPU(false)
|
||||
DRI_CONF_RADV_REQUIRE_ETC2(false)
|
||||
DRI_CONF_RADV_DISABLE_ANISO_SINGLE_LEVEL(false)
|
||||
DRI_CONF_RADV_DISABLE_SINKING_LOAD_INPUT_FS(false)
|
||||
|
@ -1033,9 +1032,6 @@ radv_init_dri_options(struct radv_instance *instance)
|
|||
instance->zero_vram =
|
||||
driQueryOptionb(&instance->dri_options, "radv_zero_vram");
|
||||
|
||||
instance->report_apu_as_dgpu =
|
||||
driQueryOptionb(&instance->dri_options, "radv_report_apu_as_dgpu");
|
||||
|
||||
instance->disable_aniso_single_level =
|
||||
driQueryOptionb(&instance->dri_options, "radv_disable_aniso_single_level");
|
||||
|
||||
|
@ -1961,7 +1957,7 @@ radv_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,
|
|||
|
||||
VkPhysicalDeviceType device_type;
|
||||
|
||||
if (pdevice->rad_info.has_dedicated_vram || pdevice->instance->report_apu_as_dgpu) {
|
||||
if (pdevice->rad_info.has_dedicated_vram) {
|
||||
device_type = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
|
||||
} else {
|
||||
device_type = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
|
||||
|
|
|
@ -364,7 +364,6 @@ struct radv_instance {
|
|||
bool disable_tc_compat_htile_in_general;
|
||||
bool disable_shrink_image_store;
|
||||
bool absolute_depth_bias;
|
||||
bool report_apu_as_dgpu;
|
||||
bool disable_aniso_single_level;
|
||||
bool zero_vram;
|
||||
bool disable_sinking_load_input_fs;
|
||||
|
|
|
@ -566,10 +566,6 @@
|
|||
DRI_CONF_OPT_B(radv_disable_dcc, def, \
|
||||
"Disable DCC for color images")
|
||||
|
||||
#define DRI_CONF_RADV_REPORT_APU_AS_DGPU(def) \
|
||||
DRI_CONF_OPT_B(radv_report_apu_as_dgpu, def, \
|
||||
"Report APUs as discrete GPUs instead of integrated GPUs")
|
||||
|
||||
#define DRI_CONF_RADV_REQUIRE_ETC2(def) \
|
||||
DRI_CONF_OPT_B(radv_require_etc2, def, \
|
||||
"Implement emulated ETC2 on HW that does not support it")
|
||||
|
|
Loading…
Reference in New Issue