diff --git a/rpcs3/Json/tooltips.json b/rpcs3/Json/tooltips.json index 862b365313..b95c0c317f 100644 --- a/rpcs3/Json/tooltips.json +++ b/rpcs3/Json/tooltips.json @@ -12,6 +12,7 @@ "readDepth": "Initializes render target memory using vm memory.", "dumpDepth": "Writes depth buffer values to vm memory.", "disableOnDiskShaderCache": "Disables the loading and saving of shaders from and to the shader cache in the data directory.", + "relaxedZCULL": "Changes ZCULL report synchronization behaviour to be more forgiving to PC architecture.\nCan improve performance in some games but can also cause stability issues or drastically reduced performance in others.\nUse with caution and if performance or stability is compromised, keep this disabled.", "maxSPURSThreads": "Limits the maximum number of SPURS threads in each thread group.\nMay improve performance in some cases, especially on systems with limited number of hardware threads.\nLimiting the number of threads is likely to cause crashes; it's recommended to keep this at default value.", "sleepTimersAccuracy": "Changes the sleep period accuracy.\n'As Host' uses default accuracy of the underlying operating system, while 'All Timers' attempts to improve it.\n'Usleep Only' limits the adjustments to usleep syscall only.\nCan affect perfomance in unexpected ways.", "vblankRate": "Adjusts the frequency of vertical blanking signals that the emulator sends.\nAffects timing of events which rely on these signals.", diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 8951d49469..4abb56cbab 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -83,6 +83,7 @@ public: DisableAsyncShaderCompiler, MultithreadedRSX, VBlankRate, + RelaxedZCULL, // Performance Overlay PerfOverlayEnabled, @@ -307,6 +308,7 @@ private: { DisableVulkanMemAllocator, { "Video", "Disable Vulkan Memory Allocator"}}, { DisableAsyncShaderCompiler, { "Video", "Disable Asynchronous Shader Compiler"}}, { MultithreadedRSX, { "Video", "Multithreaded RSX"}}, + { RelaxedZCULL, { "Video", "Relaxed ZCULL Sync"}}, { AnisotropicFilterOverride, { "Video", "Anisotropic Filter Override"}}, { ResolutionScale, { "Video", "Resolution Scale"}}, { MinimumScalableDimension, { "Video", "Minimum Scalable Dimension"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 139a060e55..8591918ee2 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -923,6 +923,9 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: xemu_settings->EnhanceCheckBox(ui->disableOnDiskShaderCache, emu_settings::DisableOnDiskShaderCache); SubscribeTooltip(ui->disableOnDiskShaderCache, json_advanced["disableOnDiskShaderCache"].toString()); + xemu_settings->EnhanceCheckBox(ui->relaxedZCULL, emu_settings::RelaxedZCULL); + SubscribeTooltip(ui->relaxedZCULL, json_advanced["relaxedZCULL"].toString()); + // Comboboxes xemu_settings->EnhanceComboBox(ui->maxSPURSThreads, emu_settings::MaxSPURSThreads, true); diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index dcd1483426..341834fd35 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -7,7 +7,7 @@ 0 0 753 - 597 + 620 @@ -36,7 +36,7 @@ - 0 + 6 @@ -1749,6 +1749,13 @@ + + + + Relaxed ZCULL Sync + + +