From 1cf8c7c375dbc07d307ceac7a807dd5c19b84df8 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sat, 27 Apr 2024 15:03:51 +0100 Subject: [PATCH] GS/HW: Remove shuffle misdetection hack --- pcsx2/GS/Renderers/HW/GSRendererHW.cpp | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index bf3fdc7e50..d97d1266d9 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -2714,29 +2714,6 @@ void GSRendererHW::Draw() (draw_sprite_tex || (m_vt.m_primclass == GS_TRIANGLE_CLASS && (m_index.tail % 6) == 0 && TrianglesAreQuads(true))); }; - // Okami mustn't call this code - if (m_texture_shuffle && m_vertex.next < 3 && PRIM->FST && ((m_cached_ctx.FRAME.FBMSK & fm_mask) == 0)) - { - // Avious dubious call to m_texture_shuffle on 16 bits games - // The pattern is severals column of 8 pixels. A single sprite - // smell fishy but a big sprite is wrong. - - // Shadow of Memories/Destiny shouldn't call this code. - // Causes shadow flickering. - m_texture_shuffle = ((v[1].U - v[0].U) < 256) || - // Tomb Raider Angel of Darkness relies on this behavior to produce a fog effect. - // In this case, the address of the framebuffer and texture are the same. - // The game will take RG => BA and then the BA => RG of next pixels. - // However, only RG => BA needs to be emulated because RG isn't used. - m_cached_ctx.FRAME.Block() == m_cached_ctx.TEX0.TBP0 || - // DMC3, Onimusha 3 rely on this behavior. - // They do fullscreen rectangle with scissor, then shift by 8 pixels, not done with recursion. - // So we check if it's a TS effect by checking the scissor. - ((m_context->SCISSOR.SCAX1 - m_context->SCISSOR.SCAX0) < 32); - - GL_INS("WARNING: Possible misdetection of effect, texture shuffle is %s", m_texture_shuffle ? "Enabled" : "Disabled"); - } - if (m_texture_shuffle && IsSplitTextureShuffle(rt)) { // If TEX0 == FBP, we're going to have a source left in the TC.