mirror of https://github.com/PCSX2/pcsx2.git
gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written (#1588)
* gsdx ogl: trigger the special RW framebuffer shader when only Alpha is written It will work for both Jak and Ratchet&Clank and without CRC
This commit is contained in:
parent
6e2bf98d5f
commit
6c6ed5f443
|
@ -515,12 +515,6 @@ CRC::Game CRC::m_games[] =
|
||||||
{0XE1BF5DCA, SuperManReturns, US, 0},
|
{0XE1BF5DCA, SuperManReturns, US, 0},
|
||||||
{0x06A7506A, SacredBlaze, JP, 0},
|
{0x06A7506A, SacredBlaze, JP, 0},
|
||||||
{0x4CE7FB04, ItadakiStreet, JP, 0},
|
{0x4CE7FB04, ItadakiStreet, JP, 0},
|
||||||
{0x9C712FF0, Jak1, EU, 0},
|
|
||||||
{0x472E7699, Jak1, US, 0},
|
|
||||||
{0x2479F4A9, Jak2, EU, 0},
|
|
||||||
{0x12804727, Jak3, EU, 0},
|
|
||||||
{0x644CFD03, Jak3, US, 0},
|
|
||||||
{0xDF659E77, JakX, EU, 0},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
map<uint32, CRC::Game*> CRC::m_map;
|
map<uint32, CRC::Game*> CRC::m_map;
|
||||||
|
|
|
@ -175,10 +175,6 @@ public:
|
||||||
SacredBlaze,
|
SacredBlaze,
|
||||||
SuperManReturns,
|
SuperManReturns,
|
||||||
ItadakiStreet,
|
ItadakiStreet,
|
||||||
Jak1,
|
|
||||||
Jak2,
|
|
||||||
Jak3,
|
|
||||||
JakX,
|
|
||||||
TitleCount,
|
TitleCount,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1155,7 +1155,8 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
|
||||||
// Always check if primitive overlap. The function will return PRIM_OVERLAP_UNKNOW for non sprite primitive
|
// Always check if primitive overlap. The function will return PRIM_OVERLAP_UNKNOW for non sprite primitive
|
||||||
m_prim_overlap = PrimitiveOverlap();
|
m_prim_overlap = PrimitiveOverlap();
|
||||||
if ((m_context->FRAME.Block() == m_context->TEX0.TBP0) && PRIM->TME && m_sw_blending && (m_prim_overlap != PRIM_OVERLAP_NO) && (m_vertex.next > 2)) {
|
if ((m_context->FRAME.Block() == m_context->TEX0.TBP0) && PRIM->TME && m_sw_blending && (m_prim_overlap != PRIM_OVERLAP_NO) && (m_vertex.next > 2)) {
|
||||||
if (m_game.title == CRC::Jak1 || m_game.title == CRC::Jak2 || m_game.title == CRC::Jak3 || m_game.title == CRC::JakX) {
|
if (m_context->FRAME.FBMSK == 0x00FFFFFF) {
|
||||||
|
// Ratchet & Clank / Jak uses this pattern to compute the shadows. Alpha (multiplication) tfx is mostly equivalent to -1/+1 stencil operation
|
||||||
GL_INS("ERROR: Source and Target are the same! Let's sample the framebuffer");
|
GL_INS("ERROR: Source and Target are the same! Let's sample the framebuffer");
|
||||||
m_ps_sel.tex_is_fb = 1;
|
m_ps_sel.tex_is_fb = 1;
|
||||||
m_require_full_barrier = true;
|
m_require_full_barrier = true;
|
||||||
|
|
Loading…
Reference in New Issue