rsx: Don't assert when surface and texture cache overlap lockable memory

- It's not a serious enough problem and the root cause is understood.
This commit is contained in:
kd-11 2023-07-11 03:34:45 +03:00 committed by kd-11
parent c325017675
commit bff6e0d277

View file

@ -3264,7 +3264,13 @@ namespace rsx
else
{
// Unlikely situation, but the only one which would allow re-upload from CPU to overlap this section.
ensure(!found->is_flushable());
if (found->is_flushable())
{
// Technically this is possible in games that may change surface pitch at random (insomniac engine)
// FIXME: A proper fix includes pitch conversion and surface inheritance chains between surface targets and blit targets (unified cache) which is a very long-term thing.
const auto range = found->get_section_range();
rsx_log.error("[Pitch Mismatch] GPU-resident data at 0x%x->0x%x is discarded due to surface cache data clobbering it.", range.start, range.end);
}
found->discard(true);
}
}