mirror of https://github.com/PCSX2/pcsx2.git
GSdx-d3d11: Plug the TOA and Urban Chaos code in to channel shuffle.
On Tales of Abyss it fixes blur, On Urban Chaos it fixes fog/transparent layer. Note: Depth needs to be enabled on d3d11. No support for d3d9 ofc.
This commit is contained in:
parent
a1f4d2ca3f
commit
e87a6b9ccd
|
@ -203,10 +203,20 @@ void GSRendererDX11::EmulateChannelShuffle(GSTexture** rt, const GSTextureCache:
|
||||||
}
|
}
|
||||||
else if ((tex->m_texture->GetType() == GSTexture::DepthStencil) && !(tex->m_32_bits_fmt))
|
else if ((tex->m_texture->GetType() == GSTexture::DepthStencil) && !(tex->m_32_bits_fmt))
|
||||||
{
|
{
|
||||||
// So far 2 games hit this code path. Urban Chaos and Tales of Abyss.
|
// So far 2 games hit this code path. Urban Chaos and Tales of Abyss
|
||||||
// Lacks shader like usual but maybe we can still use it to skip some bad draw calls.
|
// UC: will copy depth to green channel
|
||||||
// fprintf(stderr, "Tales Of Abyss Crazyness/Urban Chaos channel not supported\n");
|
// ToA: will copy depth to alpha channel
|
||||||
throw GSDXRecoverableError();
|
if ((m_context->FRAME.FBMSK & 0xFF0000) == 0xFF0000)
|
||||||
|
{
|
||||||
|
// Green channel is masked
|
||||||
|
// fprintf(stderr, "Tales Of Abyss Crazyness (MSB 16b depth to Alpha)\n");
|
||||||
|
m_ps_sel.tales_of_abyss_hle = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// fprintf(stderr, "Urban Chaos Crazyness (Green extraction)\n");
|
||||||
|
m_ps_sel.urban_chaos_hle = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (m_index.tail <= 64 && m_context->CLAMP.WMT == 3)
|
else if (m_index.tail <= 64 && m_context->CLAMP.WMT == 3)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue