Merge pull request #530 from mohammadsyuhada/nx/sync-gpu-option

libretro: Options: add Synchronize GPU Thread for dual core
This commit is contained in:
Craig authored and GitHub committed 2026-11-04 10:43:46 +00:00
commit 62aa71377f
3 files changed
+19

No files matched your search

+4
View File
@@ -370,6 +370,10 @@ bool retro_load_game(const struct retro_game_info* game)
Config::SetBase(Config::MAIN_CPU_THREAD,
Libretro::GetOption<bool>(core::MAIN_CPU_THREAD, /*def=*/true));
// Dual core's GPU thread kept in step with the CPU thread (Dolphin's "Synchronize GPU Thread").
Config::SetBase(Config::MAIN_SYNC_GPU,
Libretro::GetOption<bool>(core::MAIN_SYNC_GPU, /*def=*/false));
Config::SetBase(Config::MAIN_LOAD_GAME_INTO_MEMORY,
Libretro::GetOption<bool>(core::MAIN_LOAD_GAME_INTO_MEMORY, /*def=*/false));
@@ -175,6 +175,20 @@ static struct retro_core_option_v2_definition option_defs[] = {
},
"enabled"
},
{
Libretro::Options::core::MAIN_SYNC_GPU,
"Core > Synchronize GPU Thread",
"Synchronize GPU Thread",
"Keeps the dual-core GPU thread in step with the CPU thread, which stops FIFO desyncs at some speed cost. Requires core RESTART.",
nullptr,
CATEGORY_CORE,
{
{ "disabled", "Disabled" },
{ "enabled", "Enabled" },
{ nullptr, nullptr }
},
"disabled"
},
{
Libretro::Options::core::MAIN_LOAD_GAME_INTO_MEMORY,
"Core > Load Whole Game Into Memory",
@@ -164,6 +164,7 @@ namespace core {
constexpr const char CPU_CLOCK_RATE[] = "dolphin_cpu_clock_rate";
constexpr const char EMULATION_SPEED[] = "dolphin_emulation_speed";
constexpr const char MAIN_CPU_THREAD[] = "dolphin_main_cpu_thread";
constexpr const char MAIN_SYNC_GPU[] = "dolphin_sync_gpu";
constexpr const char MAIN_LOAD_GAME_INTO_MEMORY[] = "dolphin_main_load_game_into_memory";
constexpr const char MAIN_PRECISION_FRAME_TIMING[] = "dolphin_precision_frame_timing";
constexpr const char FASTMEM[] = "dolphin_fastmem";