From dc2779b38521fc083090b10eaa0270a8564260b2 Mon Sep 17 00:00:00 2001 From: lightningterror Date: Tue, 22 May 2018 20:08:45 +0200 Subject: [PATCH] GSdx: Adjust Sky Gunner crc hack. Move hack back to Partial (GL level). Huge vram usage on both gl and dx - maybe not a channel effect or channel effect not yet detected. --- plugins/GSdx/GSHwHack.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/plugins/GSdx/GSHwHack.cpp b/plugins/GSdx/GSHwHack.cpp index 7a3e21834d..6d0dc1911a 100644 --- a/plugins/GSdx/GSHwHack.cpp +++ b/plugins/GSdx/GSHwHack.cpp @@ -1062,6 +1062,19 @@ bool GSC_UrbanReign(const GSFrameInfo& fi, int& skip) return true; } +bool GSC_SkyGunner(const GSFrameInfo& fi, int& skip) +{ + if(skip == 0) + { + if(!fi.TME && !(fi.FBP == 0x0 || fi.FBP == 0x00800 || fi.FBP == 0x008c0 || fi.FBP == 0x03e00) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x0 || fi.TBP0 == 0x01800) && fi.TPSM == PSM_PSMCT32) + { + skip = 1; // Huge Vram usage + } + } + + return true; +} + bool GSC_SteambotChronicles(const GSFrameInfo& fi, int& skip) { if(skip == 0) @@ -1304,20 +1317,6 @@ bool GSC_ICO(const GSFrameInfo& fi, int& skip) return true; } -bool GSC_SkyGunner(const GSFrameInfo& fi, int& skip) -{ - if(skip == 0) - { - - if(!fi.TME && !(fi.FBP == 0x0 || fi.FBP == 0x00800 || fi.FBP == 0x008c0 || fi.FBP == 0x03e00) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x0 || fi.TBP0 == 0x01800) && fi.TPSM == PSM_PSMCT32) - { - skip = 1; //Huge Vram usage - } - } - - return true; -} - bool GSC_StarWarsBattlefront(const GSFrameInfo& fi, int& skip) { if(skip == 0) @@ -2246,6 +2245,7 @@ void GSState::SetupCrcHack() // Channel Effect lut[CRC::GiTS] = GSC_GiTS; + lut[CRC::SkyGunner] = GSC_SkyGunner; // Maybe not a channel effect lut[CRC::SteambotChronicles] = GSC_SteambotChronicles; // Colclip not supported @@ -2326,7 +2326,6 @@ void GSState::SetupCrcHack() // Channel Effect lut[CRC::DeathByDegreesTekkenNinaWilliams] = GSC_DeathByDegreesTekkenNinaWilliams; lut[CRC::MetalGearSolid3] = GSC_MetalGearSolid3; // + accurate blending - lut[CRC::SkyGunner] = GSC_SkyGunner; lut[CRC::StarWarsBattlefront2] = GSC_StarWarsBattlefront2; lut[CRC::StarWarsBattlefront] = GSC_StarWarsBattlefront;