gsdx tc: check compatible bit when wrote in middle of target

All maths are wrong otherwise. Fix half screen issue in WRC
This commit is contained in:
Gregory Hainaut 2016-08-20 11:57:15 +02:00
parent a49b3c9bf6
commit fa826b3167
1 changed files with 1 additions and 1 deletions

View File

@ -820,7 +820,7 @@ void GSTextureCache::InvalidateVideoMem(GSOffset* off, const GSVector4i& rect, b
// FIXME: this code "fixes" black FMV issue with rule of rose.
#if 1
// Greg: I'm not sure the 'bw' equality is required but it won't hurt too much
if (t->m_TEX0.TBW == bw && t->Inside(bp, bw, psm, rect)) {
if (t->m_TEX0.TBW == bw && t->Inside(bp, bw, psm, rect) && GSUtil::HasCompatibleBits(psm, t->m_TEX0.PSM)) {
uint32 rowsize = bw * 8192u;
uint32 offset = (uint32)((bp - t->m_TEX0.TBP0) * 256);