mirror of https://github.com/PCSX2/pcsx2.git
GSDX: partially revert texture cache changes for now. Compat probably back to normal, some glitchy textures are probably differently glitchy, the other changes might improve some games, performance probably much the same as ever.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5300 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
14acb81553
commit
a617a6c983
|
@ -452,10 +452,7 @@ void GSTextureCache::InvalidateLocalMem(GSOffset* o, const GSVector4i& r)
|
||||||
// note: r.rintersect breaks Wizardry and Chaos Legion
|
// 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 ><
|
// 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?
|
if (r.x == 0 && r.y == 0) // Full screen read?
|
||||||
{
|
|
||||||
Read(t, t->m_valid);
|
Read(t, t->m_valid);
|
||||||
t->m_valid = GSVector4i::zero();
|
|
||||||
}
|
|
||||||
else // Block level read?
|
else // Block level read?
|
||||||
Read(t, r.rintersect(t->m_valid));
|
Read(t, r.rintersect(t->m_valid));
|
||||||
}
|
}
|
||||||
|
@ -586,9 +583,6 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
|
||||||
|
|
||||||
bool hack = false;
|
bool hack = false;
|
||||||
|
|
||||||
if (dst)
|
|
||||||
dst->Update();
|
|
||||||
|
|
||||||
if(m_spritehack && (TEX0.PSM == PSM_PSMT8 || TEX0.PSM == PSM_PSMT8H))
|
if(m_spritehack && (TEX0.PSM == PSM_PSMT8 || TEX0.PSM == PSM_PSMT8H))
|
||||||
{
|
{
|
||||||
src->m_spritehack_t = true;
|
src->m_spritehack_t = true;
|
||||||
|
@ -599,14 +593,21 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
|
||||||
else
|
else
|
||||||
src->m_spritehack_t = false;
|
src->m_spritehack_t = false;
|
||||||
|
|
||||||
if (dst && dst->m_type == RenderTarget
|
if (dst)
|
||||||
&& (dst->m_TEX0.PSM == TEX0.PSM || dst->m_TEX0.PSM == PSM_PSMCT32 && TEX0.PSM == PSM_PSMCT24
|
|
||||||
|| m_paltex && dst->m_TEX0.PSM == PSM_PSMCT32 && TEX0.PSM == PSM_PSMT8H))
|
|
||||||
{
|
{
|
||||||
// TODO: clean up this mess
|
// TODO: clean up this mess
|
||||||
|
|
||||||
src->m_target = true;
|
src->m_target = true;
|
||||||
|
|
||||||
|
if(dst->m_type != RenderTarget)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
delete src;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
dst->Update();
|
||||||
|
|
||||||
GSTexture* tmp = NULL;
|
GSTexture* tmp = NULL;
|
||||||
|
|
||||||
if(dst->m_texture->IsMSAA())
|
if(dst->m_texture->IsMSAA())
|
||||||
|
@ -773,11 +774,6 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (dst)
|
|
||||||
{
|
|
||||||
Read(dst, dst->m_valid);
|
|
||||||
dst->m_valid = GSVector4i::zero();
|
|
||||||
}
|
|
||||||
if (m_paltex && psm.pal > 0)
|
if (m_paltex && psm.pal > 0)
|
||||||
{
|
{
|
||||||
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th, Get8bitFormat());
|
src->m_texture = m_renderer->m_dev->CreateTexture(tw, th, Get8bitFormat());
|
||||||
|
|
Loading…
Reference in New Issue