GS: Only update dirty on local invalidate if bp matches

This commit is contained in:
refractionpcsx2 2023-05-05 09:58:26 +01:00
parent 7dcf6b70d9
commit 76cc9c8b21
1 changed files with 2 additions and 2 deletions

View File

@ -2238,7 +2238,7 @@ void GSTextureCache::InvalidateLocalMem(const GSOffset& off, const GSVector4i& r
if (!draw_rect.rempty())
{
// The draw rect and read rect overlap somewhat, we should update the target before downloading it.
if (!dirty_rect.rintersect(targetr).rempty())
if (t->m_TEX0.TBP0 == bp && !dirty_rect.rintersect(targetr).rempty())
t->Update(false);
Read(t, draw_rect);
@ -2387,7 +2387,7 @@ void GSTextureCache::InvalidateLocalMem(const GSOffset& off, const GSVector4i& r
}
// The draw rect and read rect overlap somewhat, we should update the target before downloading it.
if (!dirty_rect.rintersect(targetr).rempty())
if (exact_bp && !dirty_rect.rintersect(targetr).rempty())
t->Update(false);
Read(t, targetr);