rsx: Bump surface removal threshold values

- It is much slower to attempt surface removal than to render duplicates on the host GPU
This commit is contained in:
kd-11 2022-01-05 01:28:50 +03:00 committed by kd-11
parent 6889b48973
commit 7563655221

View File

@ -1879,16 +1879,16 @@ namespace rsx
switch (result.external_subresource_desc.op) switch (result.external_subresource_desc.op)
{ {
case deferred_request_command::atlas_gather: case deferred_request_command::atlas_gather:
max_safe_sections = 8 + attr.mipmaps; break; max_safe_sections = 32 + attr.mipmaps; break;
case deferred_request_command::cubemap_gather: case deferred_request_command::cubemap_gather:
max_safe_sections = 8 * attr.mipmaps; break; max_safe_sections = 16 * attr.mipmaps; break;
case deferred_request_command::_3d_gather: case deferred_request_command::_3d_gather:
max_safe_sections = (attr.depth * attr.mipmaps * 110) / 100; break; // 10% factor of safety max_safe_sections = (attr.depth * attr.mipmaps * 6); break;
default: default:
break; break;
} }
if (overlapping_fbos.size() > max_safe_sections) if (overlapping_fbos.size() > std::max<usz>(max_safe_sections, 32u))
{ {
rsx_log.error("[Performance warning] Texture gather routine encountered too many objects!"); rsx_log.error("[Performance warning] Texture gather routine encountered too many objects!");
m_rtts.check_for_duplicates(overlapping_fbos, memory_range); m_rtts.check_for_duplicates(overlapping_fbos, memory_range);