mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-27 07:20:49 +00:00
Merge pull request #12466 from hrydgard/remove-io-thread-option
Remove the I/O on Thread option - treat it as always on.
This commit is contained in:
commit
492e81ae67
@ -494,7 +494,6 @@ static bool DefaultSasThread() {
|
||||
static ConfigSetting cpuSettings[] = {
|
||||
ReportedConfigSetting("CPUCore", &g_Config.iCpuCore, &DefaultCpuCore, true, true),
|
||||
ReportedConfigSetting("SeparateSASThread", &g_Config.bSeparateSASThread, &DefaultSasThread, true, true),
|
||||
ReportedConfigSetting("SeparateIOThread", &g_Config.bSeparateIOThread, true, true, true),
|
||||
ReportedConfigSetting("IOTimingMethod", &g_Config.iIOTimingMethod, IOTIMING_FAST, true, true),
|
||||
ConfigSetting("FastMemoryAccess", &g_Config.bFastMemory, true, true, true),
|
||||
ReportedConfigSetting("FuncReplacements", &g_Config.bFuncReplacements, true, true, true),
|
||||
|
@ -97,7 +97,6 @@ public:
|
||||
uint32_t uJitDisableFlags;
|
||||
|
||||
bool bSeparateSASThread;
|
||||
bool bSeparateIOThread;
|
||||
int iIOTimingMethod;
|
||||
int iLockedCPUSpeed;
|
||||
bool bAutoSaveSymbolMap;
|
||||
|
@ -129,7 +129,7 @@ static MemStickFatState lastMemStickFatState;
|
||||
|
||||
static AsyncIOManager ioManager;
|
||||
static bool ioManagerThreadEnabled = false;
|
||||
static std::thread *ioManagerThread;
|
||||
static std::thread ioManagerThread;
|
||||
|
||||
// TODO: Is it better to just put all on the thread?
|
||||
// Let's try. (was 256)
|
||||
@ -649,12 +649,10 @@ void __IoInit() {
|
||||
|
||||
memset(fds, 0, sizeof(fds));
|
||||
|
||||
ioManagerThreadEnabled = g_Config.bSeparateIOThread;
|
||||
ioManagerThreadEnabled = true;
|
||||
ioManager.SetThreadEnabled(ioManagerThreadEnabled);
|
||||
if (ioManagerThreadEnabled) {
|
||||
Core_ListenLifecycle(&__IoWakeManager);
|
||||
ioManagerThread = new std::thread(&__IoManagerThread);
|
||||
}
|
||||
Core_ListenLifecycle(&__IoWakeManager);
|
||||
ioManagerThread = std::thread(&__IoManagerThread);
|
||||
|
||||
__KernelRegisterWaitTypeFuncs(WAITTYPE_ASYNCIO, __IoAsyncBeginCallback, __IoAsyncEndCallback);
|
||||
|
||||
@ -730,12 +728,8 @@ void __IoShutdown() {
|
||||
ioManagerThreadEnabled = false;
|
||||
ioManager.SyncThread();
|
||||
ioManager.FinishEventLoop();
|
||||
if (ioManagerThread != nullptr) {
|
||||
ioManagerThread->join();
|
||||
delete ioManagerThread;
|
||||
ioManagerThread = nullptr;
|
||||
ioManager.Shutdown();
|
||||
}
|
||||
ioManagerThread.join();
|
||||
ioManager.Shutdown();
|
||||
|
||||
for (int i = 0; i < PSP_COUNT_FDS; ++i) {
|
||||
asyncParams[i].op = IoAsyncOp::NONE;
|
||||
|
@ -689,10 +689,8 @@ void GameSettingsScreen::CreateViews() {
|
||||
|
||||
systemSettings->Add(new CheckBox(&g_Config.bFastMemory, sy->T("Fast Memory", "Fast Memory (Unstable)")))->OnClick.Handle(this, &GameSettingsScreen::OnJitAffectingSetting);
|
||||
|
||||
systemSettings->Add(new CheckBox(&g_Config.bSeparateIOThread, sy->T("I/O on thread (experimental)")))->SetEnabled(!PSP_IsInited());
|
||||
static const char *ioTimingMethods[] = { "Fast (lag on slow storage)", "Host (bugs, less lag)", "Simulate UMD delays" };
|
||||
View *ioTimingMethod = systemSettings->Add(new PopupMultiChoice(&g_Config.iIOTimingMethod, sy->T("IO timing method"), ioTimingMethods, 0, ARRAY_SIZE(ioTimingMethods), sy->GetName(), screenManager()));
|
||||
ioTimingMethod->SetEnabledPtr(&g_Config.bSeparateIOThread);
|
||||
systemSettings->Add(new CheckBox(&g_Config.bForceLagSync, sy->T("Force real clock sync (slower, less lag)")));
|
||||
PopupSliderChoice *lockedMhz = systemSettings->Add(new PopupSliderChoice(&g_Config.iLockedCPUSpeed, 0, 1000, sy->T("Change CPU Clock", "Change CPU Clock (unstable)"), screenManager(), sy->T("MHz, 0:default")));
|
||||
lockedMhz->SetZeroLabel(sy->T("Auto"));
|
||||
|
@ -183,7 +183,6 @@ static RetroOption<bool> ppsspp_texture_deposterize("ppsspp_texture_deposterize"
|
||||
static RetroOption<bool> ppsspp_texture_replacement("ppsspp_texture_replacement", "Texture Replacement", false);
|
||||
static RetroOption<bool> ppsspp_gpu_hardware_transform("ppsspp_gpu_hardware_transform", "GPU Hardware T&L", true);
|
||||
static RetroOption<bool> ppsspp_vertex_cache("ppsspp_vertex_cache", "Vertex Cache (Speedhack)", true);
|
||||
static RetroOption<bool> ppsspp_separate_io_thread("ppsspp_separate_io_thread", "IO Threading", false);
|
||||
static RetroOption<bool> ppsspp_unsafe_func_replacements("ppsspp_unsafe_func_replacements", "Unsafe FuncReplacements", true);
|
||||
static RetroOption<bool> ppsspp_cheats("ppsspp_cheats", "Internal Cheats Support", false);
|
||||
static RetroOption<IOTimingMethods> ppsspp_io_timing_method("ppsspp_io_timing_method", "IO Timing Method", { { "Fast", IOTimingMethods::IOTIMING_FAST }, { "Host", IOTimingMethods::IOTIMING_HOST }, { "Simulate UMD delays", IOTimingMethods::IOTIMING_REALISTIC } });
|
||||
@ -210,7 +209,6 @@ void retro_set_environment(retro_environment_t cb) {
|
||||
vars.push_back(ppsspp_texture_replacement.GetOptions());
|
||||
vars.push_back(ppsspp_gpu_hardware_transform.GetOptions());
|
||||
vars.push_back(ppsspp_vertex_cache.GetOptions());
|
||||
vars.push_back(ppsspp_separate_io_thread.GetOptions());
|
||||
vars.push_back(ppsspp_unsafe_func_replacements.GetOptions());
|
||||
vars.push_back(ppsspp_cheats.GetOptions());
|
||||
vars.push_back(ppsspp_io_timing_method.GetOptions());
|
||||
@ -274,7 +272,6 @@ static void check_variables(CoreParameter &coreParam) {
|
||||
ppsspp_texture_anisotropic_filtering.Update(&g_Config.iAnisotropyLevel);
|
||||
ppsspp_texture_deposterize.Update(&g_Config.bTexDeposterize);
|
||||
ppsspp_texture_replacement.Update(&g_Config.bReplaceTextures);
|
||||
ppsspp_separate_io_thread.Update(&g_Config.bSeparateIOThread);
|
||||
ppsspp_unsafe_func_replacements.Update(&g_Config.bFuncReplacements);
|
||||
ppsspp_cheats.Update(&g_Config.bEnableCheats);
|
||||
ppsspp_locked_cpu_speed.Update(&g_Config.iLockedCPUSpeed);
|
||||
|
Loading…
Reference in New Issue
Block a user