GSDX: Clear Target::m_valid after a full Read() for performance (and accuracy?) Probably doesn't match the original intent but it matches the current usage.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5293 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
sudonim1@gmail.com 2012-06-13 18:14:58 +00:00
parent 6bb9339223
commit 1ed80f320e
1 changed files with 6 additions and 0 deletions

View File

@ -452,7 +452,10 @@ void GSTextureCache::InvalidateLocalMem(GSOffset* o, const GSVector4i& r)
// note: r.rintersect breaks Wizardry and Chaos Legion
// Read(t, t->m_valid) works in all tested games but is very slow in GUST titles ><
if (r.x == 0 && r.y == 0) // Full screen read?
{
Read(t, t->m_valid);
t->m_valid = GSVector4i::zero();
}
else // Block level read?
Read(t, r.rintersect(t->m_valid));
}
@ -771,7 +774,10 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
else
{
if (dst)
{
Read(dst, dst->m_valid);
dst->m_valid = GSVector4i::zero();
}
if (m_paltex && psm.pal > 0)
{
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th, Get8bitFormat());