mirror of https://github.com/PCSX2/pcsx2.git
Removed the mVU block hack. This hack didn't help speed a lot (generally only about 2% if at all) but it caused slow downs and bugs in some games.
People enabled it for a performance boost and often got the reverse, so now it's gone. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5103 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
3bbb2d6ed3
commit
bc4ce5b1bf
|
@ -381,7 +381,6 @@ struct Pcsx2Config
|
|||
IntcStat :1, // tells Pcsx2 to fast-forward through intc_stat waits.
|
||||
WaitLoop :1, // enables constant loop detection and fast-forwarding
|
||||
vuFlagHack :1, // microVU specific flag hack
|
||||
vuBlockHack :1, // microVU specific block flag no-propagation hack
|
||||
vuThread :1; // Enable Threaded VU1
|
||||
BITFIELD_END
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ void Pcsx2Config::SpeedhackOptions::LoadSave( IniInterface& ini )
|
|||
IniBitBool( IntcStat );
|
||||
IniBitBool( WaitLoop );
|
||||
IniBitBool( vuFlagHack );
|
||||
IniBitBool( vuBlockHack );
|
||||
IniBitBool( vuThread );
|
||||
}
|
||||
|
||||
|
|
|
@ -922,9 +922,8 @@ bool AppConfig::IsOkApplyPreset(int n)
|
|||
case 4 : //set EE cyclerate to 2 clicks (maximum)
|
||||
eeUsed?0:(eeUsed=true, EmuOptions.Speedhacks.EECycleRate = 2);
|
||||
|
||||
case 3 : //Set VU cycle steal to 1 click, enable (m)vuBlockHack, set VU clamp mode to 'none'
|
||||
case 3 : //Set VU cycle steal to 1 click, set VU clamp mode to 'none'
|
||||
vuUsed?0:(vuUsed=true, EmuOptions.Speedhacks.VUCycleSteal = 1);
|
||||
EmuOptions.Speedhacks.vuBlockHack = true;
|
||||
EmuOptions.Cpu.Recompiler.vuOverflow =
|
||||
EmuOptions.Cpu.Recompiler.vuExtraOverflow =
|
||||
EmuOptions.Cpu.Recompiler.vuSignOverflow = false; //VU Clamp mode to 'none'
|
||||
|
|
|
@ -334,7 +334,6 @@ namespace Panels
|
|||
pxCheckBox* m_check_waitloop;
|
||||
pxCheckBox* m_check_fastCDVD;
|
||||
pxCheckBox* m_check_vuFlagHack;
|
||||
pxCheckBox* m_check_vuBlockHack;
|
||||
pxCheckBox* m_check_vuThread;
|
||||
|
||||
public:
|
||||
|
|
|
@ -163,9 +163,6 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
m_check_vuFlagHack = new pxCheckBox( vuHacksPanel, _("mVU Flag Hack"),
|
||||
_("Good Speedup and High Compatibility; may cause bad graphics... [Recommended]" ) );
|
||||
|
||||
m_check_vuBlockHack = new pxCheckBox( vuHacksPanel, _("mVU Block Hack"),
|
||||
_("Good Speedup and High Compatibility; may cause bad graphics, SPS, etc...") );
|
||||
|
||||
m_check_vuThread = new pxCheckBox( vuHacksPanel, _("MTVU (Multi-Threaded microVU1)"),
|
||||
_("Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ cores]") );
|
||||
|
||||
|
@ -174,11 +171,6 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
L"This is safe most of the time, and Super VU does something similar by default."
|
||||
) );
|
||||
|
||||
m_check_vuBlockHack->SetToolTip( pxEt( "!ContextTip:Speedhacks:vuBlockHack",
|
||||
L"Assumes that very far into future blocks will not need old flag instance data. "
|
||||
L"This should be pretty safe. It is unknown if this breaks any game..."
|
||||
) );
|
||||
|
||||
m_check_vuThread->SetToolTip( pxEt( "!ContextTip:Speedhacks:vuThread",
|
||||
L"Runs VU1 on its own thread (microVU1-only). Generally a speedup on CPUs with 3 or more cores. "
|
||||
L"This is safe for most games, but a few games are incompatible and may hang. "
|
||||
|
@ -234,7 +226,6 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
*vuSliderPanel += m_msg_vustealer | sliderFlags;
|
||||
|
||||
*vuHacksPanel += m_check_vuFlagHack;
|
||||
*vuHacksPanel += m_check_vuBlockHack;
|
||||
*vuHacksPanel += m_check_vuThread;
|
||||
//*vuHacksPanel += 57; // Aligns left and right boxes in default language and font size
|
||||
|
||||
|
@ -313,7 +304,6 @@ void Panels::SpeedHacksPanel::ApplyConfigToGui( AppConfig& configToApply, int fl
|
|||
SetVUcycleSliderMsg();
|
||||
|
||||
m_check_vuFlagHack ->SetValue(opts.vuFlagHack);
|
||||
m_check_vuBlockHack ->SetValue(opts.vuBlockHack);
|
||||
m_check_vuThread ->SetValue(opts.vuThread);
|
||||
m_check_intc ->SetValue(opts.IntcStat);
|
||||
m_check_waitloop ->SetValue(opts.WaitLoop);
|
||||
|
@ -343,7 +333,6 @@ void Panels::SpeedHacksPanel::Apply()
|
|||
opts.fastCDVD = m_check_fastCDVD->GetValue();
|
||||
opts.IntcStat = m_check_intc->GetValue();
|
||||
opts.vuFlagHack = m_check_vuFlagHack->GetValue();
|
||||
opts.vuBlockHack = m_check_vuBlockHack->GetValue();
|
||||
opts.vuThread = m_check_vuThread->GetValue();
|
||||
|
||||
// If the user has a command line override specified, we need to disable it
|
||||
|
|
|
@ -290,7 +290,7 @@ __fi void mVUsetupFlags(mV, microFlagCycles& mFC) {
|
|||
branch = 0; \
|
||||
} \
|
||||
else if (branch == 5) { /*JR/JARL*/ \
|
||||
if(!CHECK_VU_BLOCKHACK && (sCount+found<4)) { \
|
||||
if(sCount+found<4) { \
|
||||
mVUregs.needExactMatch |= 7; \
|
||||
} \
|
||||
break; \
|
||||
|
|
|
@ -359,13 +359,6 @@ static const bool doJumpAsSameProgram = 0; // Set to 1 to treat jumps as same pr
|
|||
// This hack only updates the Status Flag on blocks that will read it.
|
||||
// Most blocks do not read status flags, so this is a big speedup.
|
||||
|
||||
// Block Flag Instance No-Propagation Hack
|
||||
#define CHECK_VU_BLOCKHACK (EmuConfig.Speedhacks.vuBlockHack)
|
||||
// There are times when it is unknown if future blocks will need old
|
||||
// flag instance data (due to indirect jumps). This hack assumes
|
||||
// that they won't need old flag data. This effectively removes a lot
|
||||
// of end-of-block flag instance shuffling, causing nice speedups.
|
||||
|
||||
// Min/Max Speed Hack
|
||||
#define CHECK_VU_MINMAXHACK 0 //(EmuConfig.Speedhacks.vuMinMax)
|
||||
// This hack uses SSE min/max instructions instead of emulated "logical min/max"
|
||||
|
|
Loading…
Reference in New Issue