mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 05:40:01 -06:00
Config: Port SyncOnSkipIdle setting to new config system.
This commit is contained in:
@ -72,7 +72,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
bool valid = false;
|
bool valid = false;
|
||||||
bool bCPUThread = false;
|
bool bCPUThread = false;
|
||||||
bool bSyncGPUOnSkipIdleHack = false;
|
|
||||||
bool bMMU = false;
|
bool bMMU = false;
|
||||||
bool bSyncGPU = false;
|
bool bSyncGPU = false;
|
||||||
int iSyncGpuMaxDistance = 0;
|
int iSyncGpuMaxDistance = 0;
|
||||||
@ -88,7 +87,6 @@ void ConfigCache::SaveConfig(const SConfig& config)
|
|||||||
valid = true;
|
valid = true;
|
||||||
|
|
||||||
bCPUThread = config.bCPUThread;
|
bCPUThread = config.bCPUThread;
|
||||||
bSyncGPUOnSkipIdleHack = config.bSyncGPUOnSkipIdleHack;
|
|
||||||
bMMU = config.bMMU;
|
bMMU = config.bMMU;
|
||||||
bSyncGPU = config.bSyncGPU;
|
bSyncGPU = config.bSyncGPU;
|
||||||
iSyncGpuMaxDistance = config.iSyncGpuMaxDistance;
|
iSyncGpuMaxDistance = config.iSyncGpuMaxDistance;
|
||||||
@ -115,7 +113,6 @@ void ConfigCache::RestoreConfig(SConfig* config)
|
|||||||
valid = false;
|
valid = false;
|
||||||
|
|
||||||
config->bCPUThread = bCPUThread;
|
config->bCPUThread = bCPUThread;
|
||||||
config->bSyncGPUOnSkipIdleHack = bSyncGPUOnSkipIdleHack;
|
|
||||||
config->bMMU = bMMU;
|
config->bMMU = bMMU;
|
||||||
config->bSyncGPU = bSyncGPU;
|
config->bSyncGPU = bSyncGPU;
|
||||||
config->iSyncGpuMaxDistance = iSyncGpuMaxDistance;
|
config->iSyncGpuMaxDistance = iSyncGpuMaxDistance;
|
||||||
@ -171,8 +168,6 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
|
|||||||
IniFile::Section* controls_section = game_ini.GetOrCreateSection("Controls");
|
IniFile::Section* controls_section = game_ini.GetOrCreateSection("Controls");
|
||||||
|
|
||||||
core_section->Get("CPUThread", &StartUp.bCPUThread, StartUp.bCPUThread);
|
core_section->Get("CPUThread", &StartUp.bCPUThread, StartUp.bCPUThread);
|
||||||
core_section->Get("SyncOnSkipIdle", &StartUp.bSyncGPUOnSkipIdleHack,
|
|
||||||
StartUp.bSyncGPUOnSkipIdleHack);
|
|
||||||
core_section->Get("MMU", &StartUp.bMMU, StartUp.bMMU);
|
core_section->Get("MMU", &StartUp.bMMU, StartUp.bMMU);
|
||||||
core_section->Get("SyncGPU", &StartUp.bSyncGPU, StartUp.bSyncGPU);
|
core_section->Get("SyncGPU", &StartUp.bSyncGPU, StartUp.bSyncGPU);
|
||||||
|
|
||||||
@ -248,7 +243,6 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
|
|||||||
config_cache.bSetEXIDevice[0] = true;
|
config_cache.bSetEXIDevice[0] = true;
|
||||||
config_cache.bSetEXIDevice[1] = true;
|
config_cache.bSetEXIDevice[1] = true;
|
||||||
config_cache.bSetEXIDevice[2] = true;
|
config_cache.bSetEXIDevice[2] = true;
|
||||||
StartUp.bSyncGPUOnSkipIdleHack = netplay_settings.m_SyncOnSkipIdle;
|
|
||||||
StartUp.bSyncGPU = netplay_settings.m_SyncGPU;
|
StartUp.bSyncGPU = netplay_settings.m_SyncGPU;
|
||||||
StartUp.iSyncGpuMaxDistance = netplay_settings.m_SyncGpuMaxDistance;
|
StartUp.iSyncGpuMaxDistance = netplay_settings.m_SyncGpuMaxDistance;
|
||||||
StartUp.iSyncGpuMinDistance = netplay_settings.m_SyncGpuMinDistance;
|
StartUp.iSyncGpuMinDistance = netplay_settings.m_SyncGpuMinDistance;
|
||||||
|
@ -102,6 +102,7 @@ bool IsSettingSaveable(const Config::Location& config_location)
|
|||||||
&Config::MAIN_GPU_DETERMINISM_MODE.GetLocation(),
|
&Config::MAIN_GPU_DETERMINISM_MODE.GetLocation(),
|
||||||
&Config::MAIN_DISABLE_ICACHE.GetLocation(),
|
&Config::MAIN_DISABLE_ICACHE.GetLocation(),
|
||||||
&Config::MAIN_FAST_DISC_SPEED.GetLocation(),
|
&Config::MAIN_FAST_DISC_SPEED.GetLocation(),
|
||||||
|
&Config::MAIN_SYNC_ON_SKIP_IDLE.GetLocation(),
|
||||||
|
|
||||||
// UI.General
|
// UI.General
|
||||||
|
|
||||||
|
@ -102,7 +102,6 @@ void SConfig::SaveCoreSettings(IniFile& ini)
|
|||||||
core->Set("TimingVariance", iTimingVariance);
|
core->Set("TimingVariance", iTimingVariance);
|
||||||
core->Set("Fastmem", bFastmem);
|
core->Set("Fastmem", bFastmem);
|
||||||
core->Set("CPUThread", bCPUThread);
|
core->Set("CPUThread", bCPUThread);
|
||||||
core->Set("SyncOnSkipIdle", bSyncGPUOnSkipIdleHack);
|
|
||||||
core->Set("SyncGPU", bSyncGPU);
|
core->Set("SyncGPU", bSyncGPU);
|
||||||
core->Set("SyncGpuMaxDistance", iSyncGpuMaxDistance);
|
core->Set("SyncGpuMaxDistance", iSyncGpuMaxDistance);
|
||||||
core->Set("SyncGpuMinDistance", iSyncGpuMinDistance);
|
core->Set("SyncGpuMinDistance", iSyncGpuMinDistance);
|
||||||
@ -140,7 +139,6 @@ void SConfig::LoadCoreSettings(IniFile& ini)
|
|||||||
core->Get("Fastmem", &bFastmem, true);
|
core->Get("Fastmem", &bFastmem, true);
|
||||||
core->Get("TimingVariance", &iTimingVariance, 40);
|
core->Get("TimingVariance", &iTimingVariance, 40);
|
||||||
core->Get("CPUThread", &bCPUThread, true);
|
core->Get("CPUThread", &bCPUThread, true);
|
||||||
core->Get("SyncOnSkipIdle", &bSyncGPUOnSkipIdleHack, true);
|
|
||||||
core->Get("SlotA", (int*)&m_EXIDevice[0], ExpansionInterface::EXIDEVICE_MEMORYCARDFOLDER);
|
core->Get("SlotA", (int*)&m_EXIDevice[0], ExpansionInterface::EXIDEVICE_MEMORYCARDFOLDER);
|
||||||
core->Get("SlotB", (int*)&m_EXIDevice[1], ExpansionInterface::EXIDEVICE_NONE);
|
core->Get("SlotB", (int*)&m_EXIDevice[1], ExpansionInterface::EXIDEVICE_NONE);
|
||||||
core->Get("SerialPort1", (int*)&m_EXIDevice[2], ExpansionInterface::EXIDEVICE_NONE);
|
core->Get("SerialPort1", (int*)&m_EXIDevice[2], ExpansionInterface::EXIDEVICE_NONE);
|
||||||
@ -277,7 +275,6 @@ void SConfig::LoadDefaults()
|
|||||||
|
|
||||||
iTimingVariance = 40;
|
iTimingVariance = 40;
|
||||||
bCPUThread = false;
|
bCPUThread = false;
|
||||||
bSyncGPUOnSkipIdleHack = true;
|
|
||||||
bFastmem = true;
|
bFastmem = true;
|
||||||
bMMU = false;
|
bMMU = false;
|
||||||
iBBDumpPort = -1;
|
iBBDumpPort = -1;
|
||||||
|
@ -67,7 +67,6 @@ struct SConfig
|
|||||||
|
|
||||||
int iTimingVariance = 40; // in milli secounds
|
int iTimingVariance = 40; // in milli secounds
|
||||||
bool bCPUThread = true;
|
bool bCPUThread = true;
|
||||||
bool bSyncGPUOnSkipIdleHack = true;
|
|
||||||
bool bCopyWiiSaveNetplay = true;
|
bool bCopyWiiSaveNetplay = true;
|
||||||
|
|
||||||
bool bMMU = false;
|
bool bMMU = false;
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include "Common/SPSCQueue.h"
|
#include "Common/SPSCQueue.h"
|
||||||
|
|
||||||
#include "Core/Config/MainSettings.h"
|
#include "Core/Config/MainSettings.h"
|
||||||
#include "Core/ConfigManager.h"
|
|
||||||
#include "Core/Core.h"
|
#include "Core/Core.h"
|
||||||
#include "Core/PowerPC/PowerPC.h"
|
#include "Core/PowerPC/PowerPC.h"
|
||||||
|
|
||||||
@ -81,6 +80,7 @@ static EventType* s_ev_lost = nullptr;
|
|||||||
static size_t s_registered_config_callback_id;
|
static size_t s_registered_config_callback_id;
|
||||||
static float s_config_OC_factor;
|
static float s_config_OC_factor;
|
||||||
static float s_config_OC_inv_factor;
|
static float s_config_OC_inv_factor;
|
||||||
|
static bool s_config_sync_on_skip_idle;
|
||||||
|
|
||||||
static void EmptyTimedCallback(u64 userdata, s64 cyclesLate)
|
static void EmptyTimedCallback(u64 userdata, s64 cyclesLate)
|
||||||
{
|
{
|
||||||
@ -161,6 +161,7 @@ void RefreshConfig()
|
|||||||
s_config_OC_factor =
|
s_config_OC_factor =
|
||||||
Config::Get(Config::MAIN_OVERCLOCK_ENABLE) ? Config::Get(Config::MAIN_OVERCLOCK) : 1.0f;
|
Config::Get(Config::MAIN_OVERCLOCK_ENABLE) ? Config::Get(Config::MAIN_OVERCLOCK) : 1.0f;
|
||||||
s_config_OC_inv_factor = 1.0f / s_config_OC_factor;
|
s_config_OC_inv_factor = 1.0f / s_config_OC_factor;
|
||||||
|
s_config_sync_on_skip_idle = Config::Get(Config::MAIN_SYNC_ON_SKIP_IDLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoState(PointerWrap& p)
|
void DoState(PointerWrap& p)
|
||||||
@ -388,7 +389,7 @@ void AdjustEventQueueTimes(u32 new_ppc_clock, u32 old_ppc_clock)
|
|||||||
|
|
||||||
void Idle()
|
void Idle()
|
||||||
{
|
{
|
||||||
if (SConfig::GetInstance().bSyncGPUOnSkipIdleHack)
|
if (s_config_sync_on_skip_idle)
|
||||||
{
|
{
|
||||||
// When the FIFO is processing data we must not advance because in this way
|
// When the FIFO is processing data we must not advance because in this way
|
||||||
// the VI will be desynchronized. So, We are waiting until the FIFO finish and
|
// the VI will be desynchronized. So, We are waiting until the FIFO finish and
|
||||||
|
Reference in New Issue
Block a user