mirror of https://github.com/PCSX2/pcsx2.git
GS/HW: Do not set a source region when using channel shuffles or tex is rt
This commit is contained in:
parent
6a56da8788
commit
d1f9312048
|
@ -5506,9 +5506,15 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
|
||||||
src->m_shared_texture = true;
|
src->m_shared_texture = true;
|
||||||
src->m_32_bits_fmt = dst->m_32_bits_fmt;
|
src->m_32_bits_fmt = dst->m_32_bits_fmt;
|
||||||
|
|
||||||
// if the size doesn't match, we need to engage shader sampling.
|
// kill source immediately if it's the RT/DS, because that'll get invalidated immediately
|
||||||
if (new_size != dst_texture_size)
|
if (GSRendererHW::GetInstance()->IsTBPFrameOrZ(dst->m_TEX0.TBP0) || channel_shuffle)
|
||||||
{
|
{
|
||||||
|
GL_CACHE("TC: Source is RT or ZBUF, invalidating after draw.");
|
||||||
|
m_temporary_source = src;
|
||||||
|
}
|
||||||
|
else if (new_size != dst_texture_size)
|
||||||
|
{
|
||||||
|
// if the size doesn't match, we need to engage shader sampling.
|
||||||
GL_CACHE("TC: Sample reduced region directly from target: %dx%d -> %dx%d", dst_texture_size.x,
|
GL_CACHE("TC: Sample reduced region directly from target: %dx%d -> %dx%d", dst_texture_size.x,
|
||||||
dst_texture_size.y, new_size.x, new_size.y);
|
dst_texture_size.y, new_size.x, new_size.y);
|
||||||
|
|
||||||
|
@ -5517,13 +5523,6 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con
|
||||||
if (new_size.y != dst_texture_size.y)
|
if (new_size.y != dst_texture_size.y)
|
||||||
src->m_region.SetY(region_rect.y, region_rect.w);
|
src->m_region.SetY(region_rect.y, region_rect.w);
|
||||||
}
|
}
|
||||||
|
|
||||||
// kill source immediately if it's the RT/DS, because that'll get invalidated immediately
|
|
||||||
if (GSRendererHW::GetInstance()->IsTBPFrameOrZ(dst->m_TEX0.TBP0) || channel_shuffle)
|
|
||||||
{
|
|
||||||
GL_CACHE("TC: Source is RT or ZBUF, invalidating after draw.");
|
|
||||||
m_temporary_source = src;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue