summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2023-01-30 09:01:18 +0100
committerGitHub <noreply@github.com>2023-01-30 09:01:18 +0100
commita2f4606d33a4b111f21f0e59f7d57897e041d25e (patch)
tree5323f1f6bc91db9b938d92f1bb2ae981316507cd /Source/Core/VideoBackends
parent0ec4ef4d25aada576557bf583546298673639437 (diff)
parentfa8134dedab267a4efe4c9f64ca219a4b19dd8b5 (diff)
Merge pull request #11205 from TellowKrinkle/AutoPresent
VideoBackends:Metal: Default to presentDrawable when vsync is on
Diffstat (limited to 'Source/Core/VideoBackends')
-rw-r--r--Source/Core/VideoBackends/Metal/MTLRenderer.mm4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Metal/MTLRenderer.mm b/Source/Core/VideoBackends/Metal/MTLRenderer.mm
index 7d6c583599..7e915f045a 100644
--- a/Source/Core/VideoBackends/Metal/MTLRenderer.mm
+++ b/Source/Core/VideoBackends/Metal/MTLRenderer.mm
@@ -459,7 +459,9 @@ void Metal::Renderer::PresentBackbuffer()
// when windowed (or fullscreen with vsync enabled, but that's more understandable).
// On the other hand, it helps Xcode's GPU captures start and stop on frame boundaries
// which is convenient. Put it here as a default-off config, which we can override in Xcode.
- if (g_ActiveConfig.bUsePresentDrawable)
+ // It also seems to improve frame pacing, so enable it by default with vsync
+ if (g_ActiveConfig.iUsePresentDrawable == TriState::On ||
+ (g_ActiveConfig.iUsePresentDrawable == TriState::Auto && g_ActiveConfig.bVSyncActive))
[g_state_tracker->GetRenderCmdBuf() presentDrawable:m_drawable];
else
[g_state_tracker->GetRenderCmdBuf()