From 43f1f6d29fcf275d1ae487e564cc8b39fb4df30b Mon Sep 17 00:00:00 2001 From: MasaGratoR Date: Sun, 10 Nov 2024 23:59:53 +0100 Subject: [PATCH] Support forcing 60 Hz when 60 FPS is forced (#62) --- saltysd_core/source/NX-FPS.cpp | 8 ++++---- saltysd_core32/source/NX-FPS.cpp | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/saltysd_core/source/NX-FPS.cpp b/saltysd_core/source/NX-FPS.cpp index 67853be..d4f0796 100644 --- a/saltysd_core/source/NX-FPS.cpp +++ b/saltysd_core/source/NX-FPS.cpp @@ -547,10 +547,10 @@ int eglSwap (const void* EGLDisplay, const void* EGLSurface) { uint32_t FPStimingoverride = 0; (Shared -> forceOriginalRefreshRate) = false; if (LOCK::overwriteRefreshRate > 0) { - if (LOCK::overwriteRefreshRate == 30) { + if ((LOCK::overwriteRefreshRate == 30) || (LOCK::overwriteRefreshRate == 60)) { (Shared -> forceOriginalRefreshRate) = true; - eglInterval(EGLDisplay, -2); FPStimingoverride = 1; + eglInterval(EGLDisplay, (LOCK::overwriteRefreshRate / -30)); } else { eglInterval(EGLDisplay, -1); @@ -780,10 +780,10 @@ void nvnPresentTexture(const void* _this, const NVNWindow* nvnWindow, const void uint32_t FPStimingoverride = 0; (Shared -> forceOriginalRefreshRate) = false; if (LOCK::overwriteRefreshRate > 0) { - if (LOCK::overwriteRefreshRate == 30) { + if ((LOCK::overwriteRefreshRate == 30) || (LOCK::overwriteRefreshRate == 60)) { (Shared -> forceOriginalRefreshRate) = true; - nvnSetPresentInterval(nvnWindow, -2); FPStimingoverride = 1; + nvnSetPresentInterval(nvnWindow, (LOCK::overwriteRefreshRate / -30)); } else { nvnSetPresentInterval(nvnWindow, -1); diff --git a/saltysd_core32/source/NX-FPS.cpp b/saltysd_core32/source/NX-FPS.cpp index 610e998..3cb4efc 100644 --- a/saltysd_core32/source/NX-FPS.cpp +++ b/saltysd_core32/source/NX-FPS.cpp @@ -532,10 +532,11 @@ int eglSwap (const void* EGLDisplay, const void* EGLSurface) { uint32_t FPStimingoverride = 0; (Shared -> forceOriginalRefreshRate) = false; if (LOCK::overwriteRefreshRate > 0) { - if (LOCK::overwriteRefreshRate == 30) { + if ((LOCK::overwriteRefreshRate == 30) || (LOCK::overwriteRefreshRate == 60)) { (Shared -> forceOriginalRefreshRate) = true; - eglInterval(EGLDisplay, -2); FPStimingoverride = 1; + eglInterval(EGLDisplay, (LOCK::overwriteRefreshRate / -30)); + } else { eglInterval(EGLDisplay, -1); @@ -769,10 +770,10 @@ void nvnPresentTexture(const void* _this, const NVNWindow* nvnWindow, const void uint32_t FPStimingoverride = 0; (Shared -> forceOriginalRefreshRate) = false; if (LOCK::overwriteRefreshRate > 0) { - if (LOCK::overwriteRefreshRate == 30) { + if ((LOCK::overwriteRefreshRate == 30) || (LOCK::overwriteRefreshRate == 60)) { (Shared -> forceOriginalRefreshRate) = true; - nvnSetPresentInterval(nvnWindow, -2); FPStimingoverride = 1; + nvnSetPresentInterval(nvnWindow, (LOCK::overwriteRefreshRate / -30)); } else { nvnSetPresentInterval(nvnWindow, -1);