GS/HW: Remove AfterDraw function

Not needed.
This commit is contained in:
Stenzek 2023-01-05 22:14:33 +10:00 committed by refractionpcsx2
parent fe1e432f9e
commit 580b7c94fb
12 changed files with 35 additions and 106 deletions

View File

@ -8984,7 +8984,6 @@ SLAJ-25053:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLAJ-25055:
name: "Def Jam - Fight for N.Y."
region: "NTSC-Unk"
@ -9023,7 +9022,6 @@ SLAJ-25066:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters:
- "SLAJ-25066"
- "SLPM-66108"
@ -9092,8 +9090,8 @@ SLAJ-25078:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLAJ-25079:
name: "Shin Sangoku Musou 4 - Empires"
region: "NTSC-Unk"
@ -9146,7 +9144,6 @@ SLAJ-25094:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLAJ-25095:
name: "Medal of Honor - Vanguard"
region: "NTSC-Unk"
@ -9311,7 +9308,6 @@ SLED-52597:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLED-52852:
name: "Forgotten Realms - Demon Stone [Demo]"
region: "PAL-E"
@ -9378,7 +9374,6 @@ SLED-53512:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLED-53537:
name: "187 - Ride or Die [Demo]"
region: "PAL-E"
@ -9426,8 +9421,8 @@ SLED-53937:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLED-53951:
name: "Honda Demo [Demo]"
region: "PAL-E"
@ -15067,7 +15062,6 @@ SLES-52584:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLES-52585:
name: "Burnout 3 - Takedown"
region: "PAL-F-G-I"
@ -15082,7 +15076,6 @@ SLES-52585:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLES-52587:
name: "Army Men - Sarge's War"
region: "PAL-M5"
@ -17265,7 +17258,6 @@ SLES-53506:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters:
- "SLES-53506"
- "SLES-53507"
@ -17287,7 +17279,6 @@ SLES-53507:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters:
- "SLES-53506"
- "SLES-53507"
@ -18394,8 +18385,8 @@ SLES-53886:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
patches:
ADDFF505:
content: |-
@ -18732,8 +18723,8 @@ SLES-54030:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
patches:
CAA04879:
content: |-
@ -20202,7 +20193,6 @@ SLES-54627:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLES-54628:
name: "Skate Attack [Promo]"
region: "PAL-E"
@ -20377,7 +20367,6 @@ SLES-54681:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLES-54683:
name: "Medal of Honor - Vanguard"
region: "PAL-M9"
@ -23620,7 +23609,6 @@ SLKA-25206:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLKA-25207:
name: "Sakura Taisen V - Episode 0 - Samurai Girl of Wild"
region: "NTSC-K"
@ -23914,7 +23902,6 @@ SLKA-25304:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLKA-25307:
name: "Dragon Ball Z Sparking"
region: "NTSC-K"
@ -24229,7 +24216,6 @@ SLPM-55004:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-55005:
name: "Mana Khemia 2 - Ochita Gakuen to Renkinjutsushi Tachi"
region: "NTSC-J"
@ -24271,7 +24257,6 @@ SLPM-55036:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-55039:
name: "Soukoku no Kusabi - Hiiro no Kakera 3 [Limited Edition]"
region: "NTSC-J"
@ -24850,7 +24835,6 @@ SLPM-60246:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-60251:
name: "Devil May Cry 3 [Trial Version]"
region: "NTSC-J"
@ -29701,7 +29685,6 @@ SLPM-65719:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-65720:
name: "Shin Sangoku Musou 2 Mushoden [Koei the Best]"
region: "NTSC-J"
@ -30532,7 +30515,6 @@ SLPM-65958:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-65959:
name: "Standard Daisenryaku - Ushinawareta Shouri"
region: "NTSC-J"
@ -31086,7 +31068,6 @@ SLPM-66108:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters:
- "SLAJ-25066"
- "SLPM-66108"
@ -32028,8 +32009,8 @@ SLPM-66354:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
patches:
B3A9F9ED:
content: |-
@ -33148,7 +33129,6 @@ SLPM-66652:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters:
- "SLAJ-25066"
- "SLPM-66108"
@ -33482,8 +33462,8 @@ SLPM-66731:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-66732:
name: "Iinazuke [Limited Edition]"
region: "NTSC-J"
@ -33533,7 +33513,6 @@ SLPM-66739:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-66740:
name: "Sentou Kokka Kai - Legend [DX Pack]"
region: "NTSC-J"
@ -34254,8 +34233,8 @@ SLPM-66961:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-66962:
name: "Burnout 3 - Takedown [EA-SY! 1980]"
region: "NTSC-J"
@ -34270,7 +34249,6 @@ SLPM-66962:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLPM-66963:
name: "Medal of Honor - Frontline [EA-SY! 1980]"
region: "NTSC-J"
@ -45229,7 +45207,6 @@ SLUS-21050:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLUS-21051:
name: "FIFA 2005"
region: "NTSC-U"
@ -46204,7 +46181,6 @@ SLUS-21242:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
memcardFilters: # Reads Burnout 3 and NFL 06 saves for unlockables.
- "SLUS-21242"
- "SLUS-21050"
@ -47003,8 +46979,8 @@ SLUS-21376:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
patches:
5C891FF1:
content: |-
@ -47998,7 +47974,6 @@ SLUS-21596:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLUS-21597:
name: "Medal of Honor - Vanguard"
region: "NTSC-U"
@ -50166,7 +50141,6 @@ SLUS-29113:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLUS-29116:
name: "WWE SmackDown! vs. RAW [Public Beta Vol.1.0]"
region: "NTSC-U"
@ -50282,7 +50256,6 @@ SLUS-29153:
cpuCLUTRender: 1 # Fixes sun penetrating bridges (along with HPO special).
getSkipCount: "GSC_BurnoutGames"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLUS-29154:
name: "NHL '06 [Demo]"
region: "NTSC-U"
@ -50384,8 +50357,8 @@ SLUS-29180:
roundSprite: 1 # Fixes lighting misalignment such as the street poles and the sun.
mipmap: 2 # Fixes over sharpening.
trilinearFiltering: 1 # Smoothes out mipmapping.
getSkipCount: "GSC_BlackAndBurnoutSky"
beforeDraw: "OI_BurnoutGames"
afterDraw: "OO_BurnoutGames"
SLUS-29183:
name: "Fight Night - Round 3 [Demo]"
region: "NTSC-U"

View File

@ -717,7 +717,6 @@ struct Pcsx2Config
int TVShader{0};
s16 GetSkipCountFunctionId{-1};
s16 BeforeDrawFunctionId{-1};
s16 AfterDrawFunctionId{-1};
int SkipDrawStart{0};
int SkipDrawEnd{0};

View File

@ -231,9 +231,6 @@
},
"beforeDraw": {
"type": "string"
},
"afterDraw": {
"type": "string"
}
},
"additionalProperties": false

View File

@ -707,8 +707,7 @@ void GSUpdateConfig(const Pcsx2Config::GSOptions& new_config)
if (GSConfig.CRCHack != old_config.CRCHack ||
GSConfig.UpscaleMultiplier != old_config.UpscaleMultiplier ||
GSConfig.GetSkipCountFunctionId != old_config.GetSkipCountFunctionId ||
GSConfig.BeforeDrawFunctionId != old_config.BeforeDrawFunctionId ||
GSConfig.AfterDrawFunctionId != old_config.BeforeDrawFunctionId)
GSConfig.BeforeDrawFunctionId != old_config.BeforeDrawFunctionId)
{
g_gs_renderer->UpdateCRCHacks();
}

View File

@ -51,7 +51,6 @@ class HostDisplay;
// Returns the ID for the specified function, otherwise -1.
s16 GSLookupGetSkipCountFunctionId(const std::string_view& name);
s16 GSLookupBeforeDrawFunctionId(const std::string_view& name);
s16 GSLookupAfterDrawFunctionId(const std::string_view& name);
int GSinit();
void GSshutdown();

View File

@ -335,6 +335,28 @@ bool GSHwHack::GSC_BurnoutGames(GSRendererHW& r, const GSFrameInfo& fi, int& ski
}
}
return GSC_BlackAndBurnoutSky(r, fi, skip);
}
bool GSHwHack::GSC_BlackAndBurnoutSky(GSRendererHW& r, const GSFrameInfo& fi, int& skip)
{
if (skip != 0)
return true;
const GIFRegTEX0& TEX0 = RCONTEXT->TEX0;
const GIFRegALPHA& ALPHA = RCONTEXT->ALPHA;
const GIFRegFRAME& FRAME = RCONTEXT->FRAME;
if (RPRIM->PRIM == GS_SPRITE && !RPRIM->IIP && RPRIM->TME && !RPRIM->FGE && RPRIM->ABE && !RPRIM->AA1 && !RPRIM->FST && !RPRIM->FIX && TEX0.TBW == 16 && TEX0.TW == 10 && TEX0.TCC && !TEX0.TFX && TEX0.PSM == PSM_PSMT8 && TEX0.CPSM == PSM_PSMCT32 && !TEX0.CSM && TEX0.TH == 8 && ALPHA.A == ALPHA.B && ALPHA.D == 0 && FRAME.FBW == 16 && FRAME.PSM == PSM_PSMCT32)
{
// Readback clouds being rendered during level loading.
// Later the alpha channel from the 32 bit frame buffer is used as an 8 bit indexed texture to draw
// the clouds on top of the sky at each frame.
// Burnout 3 PAL 50Hz: 0x3ba0 => 0x1e80.
GL_INS("OO_BurnoutGames - Readback clouds renderered from TEX0.TBP0 = 0x%04x (TEX0.CBP = 0x%04x) to FBP = 0x%04x", TEX0.TBP0, TEX0.CBP, FRAME.Block());
r.SwPrimRender(r);
skip = 1;
}
return true;
}
@ -1153,24 +1175,6 @@ bool GSHwHack::OI_BurnoutGames(GSRendererHW& r, GSTexture* rt, GSTexture* ds, GS
return false;
}
// OO (others output?) hacks: invalidate extra local memory after the draw call
void GSHwHack::OO_BurnoutGames(GSRendererHW& r)
{
const GIFRegTEX0& TEX0 = RCONTEXT->TEX0;
const GIFRegALPHA& ALPHA = RCONTEXT->ALPHA;
const GIFRegFRAME& FRAME = RCONTEXT->FRAME;
if (RPRIM->PRIM == GS_SPRITE && !RPRIM->IIP && RPRIM->TME && !RPRIM->FGE && RPRIM->ABE && !RPRIM->AA1 && !RPRIM->FST && !RPRIM->FIX && TEX0.TBW == 16 && TEX0.TW == 10 && TEX0.TCC && !TEX0.TFX && TEX0.PSM == PSM_PSMT8 && TEX0.CPSM == PSM_PSMCT32 && !TEX0.CSM && TEX0.TH == 8 && ALPHA.A == ALPHA.B && ALPHA.D == 0 && FRAME.FBW == 16 && FRAME.PSM == PSM_PSMCT32)
{
// Readback clouds being rendered during level loading.
// Later the alpha channel from the 32 bit frame buffer is used as an 8 bit indexed texture to draw
// the clouds on top of the sky at each frame.
// Burnout 3 PAL 50Hz: 0x3ba0 => 0x1e80.
GL_INS("OO_BurnoutGames - Readback clouds renderered from TEX0.TBP0 = 0x%04x (TEX0.CBP = 0x%04x) to FBP = 0x%04x", TEX0.TBP0, TEX0.CBP, FRAME.Block());
r.m_tc->InvalidateLocalMem(RCONTEXT->offset.fb, r.m_r);
}
}
#undef RCONTEXT
#undef RPRIM
@ -1200,6 +1204,7 @@ const GSHwHack::Entry<GSRendererHW::GSC_Ptr> GSHwHack::s_get_skip_count_function
CRC_F(GSC_TombRaiderUnderWorld, CRCHackLevel::Partial),
CRC_F(GSC_UrbanReign, CRCHackLevel::Partial),
CRC_F(GSC_ZettaiZetsumeiToshi2, CRCHackLevel::Partial),
CRC_F(GSC_BlackAndBurnoutSky, CRCHackLevel::Partial),
// Channel Effect
CRC_F(GSC_CrashBandicootWoC, CRCHackLevel::Partial),
@ -1252,10 +1257,6 @@ const GSHwHack::Entry<GSRendererHW::OI_Ptr> GSHwHack::s_before_draw_functions[]
CRC_F(OI_BurnoutGames, CRCHackLevel::Minimum),
};
const GSHwHack::Entry<GSRendererHW::OO_Ptr> GSHwHack::s_after_draw_functions[] = {
CRC_F(OO_BurnoutGames, CRCHackLevel::Minimum),
};
#undef CRC_F
s16 GSLookupGetSkipCountFunctionId(const std::string_view& name)
@ -1280,17 +1281,6 @@ s16 GSLookupBeforeDrawFunctionId(const std::string_view& name)
return -1;
}
s16 GSLookupAfterDrawFunctionId(const std::string_view& name)
{
for (u32 i = 0; i < std::size(GSHwHack::s_after_draw_functions); i++)
{
if (name == GSHwHack::s_after_draw_functions[i].name)
return static_cast<s16>(i);
}
return -1;
}
void GSRendererHW::UpdateCRCHacks()
{
GSRenderer::UpdateCRCHacks();
@ -1303,7 +1293,6 @@ void GSRendererHW::UpdateCRCHacks()
m_gsc = nullptr;
m_oi = nullptr;
m_oo = nullptr;
if (real_level != CRCHackLevel::Off)
{
@ -1320,13 +1309,6 @@ void GSRendererHW::UpdateCRCHacks()
{
m_oi = GSHwHack::s_before_draw_functions[GSConfig.BeforeDrawFunctionId].ptr;
}
if (GSConfig.AfterDrawFunctionId >= 0 &&
static_cast<size_t>(GSConfig.AfterDrawFunctionId) < std::size(GSHwHack::s_after_draw_functions) &&
real_level >= GSHwHack::s_after_draw_functions[GSConfig.AfterDrawFunctionId].level)
{
m_oo = GSHwHack::s_after_draw_functions[GSConfig.AfterDrawFunctionId].ptr;
}
}
}

View File

@ -33,6 +33,7 @@ public:
static bool GSC_TombRaiderLegend(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_TombRaiderUnderWorld(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_BurnoutGames(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_BlackAndBurnoutSky(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_MidnightClub3(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_TalesOfLegendia(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
static bool GSC_Kunoichi(GSRendererHW& r, const GSFrameInfo& fi, int& skip);
@ -67,8 +68,6 @@ public:
static bool OI_JakGames(GSRendererHW& r, GSTexture* rt, GSTexture* ds, GSTextureCache::Source* t);
static bool OI_BurnoutGames(GSRendererHW& r, GSTexture* rt, GSTexture* ds, GSTextureCache::Source* t);
static void OO_BurnoutGames(GSRendererHW& r);
template <typename F>
struct Entry
{
@ -79,5 +78,4 @@ public:
static const Entry<GSRendererHW::GSC_Ptr> s_get_skip_count_functions[];
static const Entry<GSRendererHW::OI_Ptr> s_before_draw_functions[];
static const Entry<GSRendererHW::OO_Ptr> s_after_draw_functions[];
};

View File

@ -1943,9 +1943,6 @@ void GSRendererHW::Draw()
//
if (m_oo)
m_oo(*this);
if (GSConfig.DumpGSData)
{
const u64 frame = g_perfmon.GetFrame();

View File

@ -54,7 +54,6 @@ private:
using GSC_Ptr = bool(*)(GSRendererHW& r, const GSFrameInfo& fi, int& skip); // GSC - Get Skip Count
using OI_Ptr = bool(*)(GSRendererHW& r, GSTexture* rt, GSTexture* ds, GSTextureCache::Source* t); // OI - Before draw
using OO_Ptr = void(*)(GSRendererHW& r); // OO - After draw
// Require special argument
bool OI_BlitFMV(GSTextureCache::Target* _rt, GSTextureCache::Source* t, const GSVector4i& r_draw);
@ -96,7 +95,6 @@ private:
bool IsBadFrame();
GSC_Ptr m_gsc = nullptr;
OI_Ptr m_oi = nullptr;
OO_Ptr m_oo = nullptr;
int m_skip = 0;
int m_skip_offset = 0;

View File

@ -242,15 +242,13 @@ void GameDatabase::parseAndInsert(const std::string_view& serial, const c4::yml:
const std::string_view id_name(n.key().data(), n.key().size());
std::optional<GameDatabaseSchema::GSHWFixId> id = GameDatabaseSchema::parseHWFixName(id_name);
std::optional<s32> value;
if (id.has_value() && (id.value() == GameDatabaseSchema::GSHWFixId::GetSkipCount || id.value() == GameDatabaseSchema::GSHWFixId::BeforeDraw || id.value() == GameDatabaseSchema::GSHWFixId::AfterDraw))
if (id.has_value() && (id.value() == GameDatabaseSchema::GSHWFixId::GetSkipCount || id.value() == GameDatabaseSchema::GSHWFixId::BeforeDraw))
{
const std::string_view str_value(n.has_val() ? std::string_view(n.val().data(), n.val().size()) : std::string_view());
if (id.value() == GameDatabaseSchema::GSHWFixId::GetSkipCount)
value = GSLookupGetSkipCountFunctionId(str_value);
else if (id.value() == GameDatabaseSchema::GSHWFixId::BeforeDraw)
value = GSLookupBeforeDrawFunctionId(str_value);
else if (id.value() == GameDatabaseSchema::GSHWFixId::AfterDraw)
value = GSLookupAfterDrawFunctionId(str_value);
if (value.value_or(-1) < 0)
{
@ -366,7 +364,6 @@ static const char* s_gs_hw_fix_names[] = {
"gpuPaletteConversion",
"getSkipCount",
"beforeDraw",
"afterDraw"
};
static_assert(std::size(s_gs_hw_fix_names) == static_cast<u32>(GameDatabaseSchema::GSHWFixId::Count), "HW fix name lookup is correct size");
@ -396,7 +393,6 @@ bool GameDatabaseSchema::isUserHackHWFix(GSHWFixId id)
case GSHWFixId::TrilinearFiltering:
case GSHWFixId::GetSkipCount:
case GSHWFixId::BeforeDraw:
case GSHWFixId::AfterDraw:
return false;
default:
return true;
@ -617,9 +613,6 @@ bool GameDatabaseSchema::GameEntry::configMatchesHWFix(const Pcsx2Config::GSOpti
case GSHWFixId::BeforeDraw:
return (static_cast<int>(config.BeforeDrawFunctionId) == value);
case GSHWFixId::AfterDraw:
return (static_cast<int>(config.AfterDrawFunctionId) == value);
default:
return false;
}
@ -778,10 +771,6 @@ u32 GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions&
config.BeforeDrawFunctionId = static_cast<s16>(value);
break;
case GSHWFixId::AfterDraw:
config.AfterDrawFunctionId = static_cast<s16>(value);
break;
default:
break;
}

View File

@ -86,7 +86,6 @@ namespace GameDatabaseSchema
GPUPaletteConversion,
GetSkipCount,
BeforeDraw,
AfterDraw,
Count
};

View File

@ -495,7 +495,6 @@ bool Pcsx2Config::GSOptions::OptionsAreEqual(const GSOptions& right) const
OpEqu(TVShader) &&
OpEqu(GetSkipCountFunctionId) &&
OpEqu(BeforeDrawFunctionId) &&
OpEqu(AfterDrawFunctionId) &&
OpEqu(SkipDrawEnd) &&
OpEqu(SkipDrawStart) &&