GS/TC: Read indexed texture from GS memory if complete dirty overlap

This commit is contained in:
refractionpcsx2 2024-04-03 11:41:14 +01:00
parent 2693bbff95
commit c5dfc5d5da
1 changed files with 3 additions and 0 deletions

View File

@ -1308,6 +1308,9 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const bool is_color, const
const u32 dirty_end = GSLocalMemory::GetUnwrappedEndBlockAddress(t->m_TEX0.TBP0, t->m_TEX0.TBW, t->m_TEX0.PSM, dirty_rect);
overlapping_dirty = read_start <= dirty_end && read_end >= dirty_start;
if (overlapping_dirty && (psm == PSMT8 || psm == PSMT4))
continue;
}
const bool t_clean = ((t->m_dirty.GetDirtyChannels() & GSUtil::GetChannelMask(psm)) == 0) || rect_clean;