Fix FPRF flag setting
Looks like I didn't quite change every place it needed to be renamed.
This commit is contained in:
parent
3d536bbe38
commit
d7ff482618
|
@ -47,7 +47,7 @@ namespace BootManager
|
|||
// Apply fire liberally
|
||||
struct ConfigCache
|
||||
{
|
||||
bool valid, bCPUThread, bSkipIdle, bEnableFPRF, bBAT, bMMU, bDCBZOFF, m_EnableJIT, bDSPThread,
|
||||
bool valid, bCPUThread, bSkipIdle, bFPRF, bBAT, bMMU, bDCBZOFF, m_EnableJIT, bDSPThread,
|
||||
bVBeamSpeedHack, bSyncGPU, bFastDiscSpeed, bMergeBlocks, bDSPHLE, bHLE_BS2, bProgressive;
|
||||
int iCPUCore, Volume;
|
||||
int iWiimoteSource[MAX_BBMOTES];
|
||||
|
@ -113,7 +113,7 @@ bool BootCore(const std::string& _rFilename)
|
|||
config_cache.bCPUThread = StartUp.bCPUThread;
|
||||
config_cache.bSkipIdle = StartUp.bSkipIdle;
|
||||
config_cache.iCPUCore = StartUp.iCPUCore;
|
||||
config_cache.bEnableFPRF = StartUp.bEnableFPRF;
|
||||
config_cache.bFPRF = StartUp.bFPRF;
|
||||
config_cache.bBAT = StartUp.bBAT;
|
||||
config_cache.bMMU = StartUp.bMMU;
|
||||
config_cache.bDCBZOFF = StartUp.bDCBZOFF;
|
||||
|
@ -156,8 +156,8 @@ bool BootCore(const std::string& _rFilename)
|
|||
|
||||
core_section->Get("CPUThread", &StartUp.bCPUThread, StartUp.bCPUThread);
|
||||
core_section->Get("SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
||||
core_section->Get("EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
|
||||
core_section->Get("BAT", &StartUp.bEnableFPRF, StartUp.bBAT);
|
||||
core_section->Get("FPRF", &StartUp.bFPRF, StartUp.bFPRF);
|
||||
core_section->Get("BAT", &StartUp.bBAT, StartUp.bBAT);
|
||||
core_section->Get("MMU", &StartUp.bMMU, StartUp.bMMU);
|
||||
core_section->Get("DCBZ", &StartUp.bDCBZOFF, StartUp.bDCBZOFF);
|
||||
core_section->Get("VBeam", &StartUp.bVBeamSpeedHack, StartUp.bVBeamSpeedHack);
|
||||
|
@ -283,7 +283,7 @@ void Stop()
|
|||
StartUp.bCPUThread = config_cache.bCPUThread;
|
||||
StartUp.bSkipIdle = config_cache.bSkipIdle;
|
||||
StartUp.iCPUCore = config_cache.iCPUCore;
|
||||
StartUp.bEnableFPRF = config_cache.bEnableFPRF;
|
||||
StartUp.bFPRF = config_cache.bFPRF;
|
||||
StartUp.bBAT = config_cache.bBAT;
|
||||
StartUp.bMMU = config_cache.bMMU;
|
||||
StartUp.bDCBZOFF = config_cache.bDCBZOFF;
|
||||
|
|
|
@ -32,7 +32,7 @@ SCoreStartupParameter::SCoreStartupParameter()
|
|||
bJITPairedOff(false), bJITSystemRegistersOff(false),
|
||||
bJITBranchOff(false),
|
||||
bJITILTimeProfiling(false), bJITILOutputIR(false),
|
||||
bEnableFPRF(false),
|
||||
bFPRF(false),
|
||||
bCPUThread(true), bDSPThread(false), bDSPHLE(true),
|
||||
bSkipIdle(true), bNTSC(false), bForceNTSCJ(false),
|
||||
bHLE_BS2(true), bEnableCheats(false),
|
||||
|
@ -73,7 +73,7 @@ void SCoreStartupParameter::LoadDefaults()
|
|||
bDSPHLE = true;
|
||||
bDSPThread = true;
|
||||
bFastmem = true;
|
||||
bEnableFPRF = false;
|
||||
bFPRF = false;
|
||||
bBAT = false;
|
||||
bMMU = false;
|
||||
bDCBZOFF = false;
|
||||
|
|
|
@ -141,7 +141,7 @@ struct SCoreStartupParameter
|
|||
bool bJITILOutputIR;
|
||||
|
||||
bool bFastmem;
|
||||
bool bEnableFPRF;
|
||||
bool bFPRF;
|
||||
|
||||
bool bCPUThread;
|
||||
bool bDSPThread;
|
||||
|
|
|
@ -181,7 +181,7 @@ void Jit64::Init()
|
|||
// TODO: support block linking with MMU
|
||||
jo.enableBlocklink = false;
|
||||
}
|
||||
jo.fpAccurateFcmp = SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF;
|
||||
jo.fpAccurateFcmp = SConfig::GetInstance().m_LocalCoreStartupParameter.bFPRF;
|
||||
jo.optimizeGatherPipe = true;
|
||||
jo.fastInterrupts = false;
|
||||
jo.accurateSinglePrecision = true;
|
||||
|
|
|
@ -52,8 +52,8 @@ void Jit64::SetFPRFIfNeeded(UGeckoInstruction inst, X64Reg xmm)
|
|||
{
|
||||
// As far as we know, the games that use this flag only need FPRF for fmul and fmadd, but
|
||||
// FPRF is fast enough in JIT that we might as well just enable it for every float instruction
|
||||
// if the enableFPRF flag is set.
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF && js.op->wantsFPRF)
|
||||
// if the FPRF flag is set.
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFPRF && js.op->wantsFPRF)
|
||||
SetFPRF(xmm);
|
||||
}
|
||||
|
||||
|
@ -271,7 +271,7 @@ void Jit64::fmrx(UGeckoInstruction inst)
|
|||
|
||||
void Jit64::FloatCompare(UGeckoInstruction inst, bool upper)
|
||||
{
|
||||
bool fprf = SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF && js.op->wantsFPRF;
|
||||
bool fprf = SConfig::GetInstance().m_LocalCoreStartupParameter.bFPRF && js.op->wantsFPRF;
|
||||
//bool ordered = !!(inst.SUBOP10 & 32);
|
||||
int a = inst.FA;
|
||||
int b = inst.FB;
|
||||
|
|
|
@ -12,7 +12,7 @@ void JitILBase::fp_arith_s(UGeckoInstruction inst)
|
|||
FALLBACK_IF(inst.Rc || (inst.SUBOP5 != 25 && inst.SUBOP5 != 20 && inst.SUBOP5 != 21));
|
||||
|
||||
// Only the interpreter has "proper" support for (some) FP flags
|
||||
FALLBACK_IF(inst.SUBOP5 == 25 && SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF);
|
||||
FALLBACK_IF(inst.SUBOP5 == 25 && SConfig::GetInstance().m_LocalCoreStartupParameter.bFPRF);
|
||||
|
||||
IREmitter::InstLoc val = ibuild.EmitLoadFReg(inst.FA);
|
||||
switch (inst.SUBOP5)
|
||||
|
@ -49,7 +49,7 @@ void JitILBase::fmaddXX(UGeckoInstruction inst)
|
|||
FALLBACK_IF(inst.Rc);
|
||||
|
||||
// Only the interpreter has "proper" support for (some) FP flags
|
||||
FALLBACK_IF(inst.SUBOP5 == 29 && SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF);
|
||||
FALLBACK_IF(inst.SUBOP5 == 29 && SConfig::GetInstance().m_LocalCoreStartupParameter.bFPRF);
|
||||
|
||||
IREmitter::InstLoc val = ibuild.EmitLoadFReg(inst.FA);
|
||||
val = ibuild.EmitFDMul(val, ibuild.EmitLoadFReg(inst.FC));
|
||||
|
|
Loading…
Reference in New Issue