diff options
author | Vaxry <[email protected]> | 2024-04-08 17:53:26 +0100 |
---|---|---|
committer | Vaxry <[email protected]> | 2024-04-08 17:53:26 +0100 |
commit | 98635351416a5753a99d6baa1f7a0a24c813eeda (patch) | |
tree | e670e34447cee622a84504923befd9a6e0307fbc | |
parent | 310faaae3af2128bd7725d674fcea41f698de6f5 (diff) | |
download | Hyprland-98635351416a5753a99d6baa1f7a0a24c813eeda.tar.gz Hyprland-98635351416a5753a99d6baa1f7a0a24c813eeda.zip |
eee
-rw-r--r-- | src/managers/FrameSchedulingManager.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/managers/FrameSchedulingManager.cpp b/src/managers/FrameSchedulingManager.cpp index 320dc2cd..2d02f82f 100644 --- a/src/managers/FrameSchedulingManager.cpp +++ b/src/managers/FrameSchedulingManager.cpp @@ -249,12 +249,18 @@ void CFrameSchedulingManager::renderMonitor(SSchedulingData* data) { } data->fenceSync = g_pHyprRenderer->renderMonitor(pMonitor, !data->legacyScheduler); - data->rendered = true; + data->rendered = true; } void CFrameSchedulingManager::onVblankTimer(void* data) { auto DATA = (SSchedulingData*)data; + if (!DATA->rendered) { + // what the fuck? + Debug::log(ERR, "Vblank timer fired without a frame????"); + return; + } + #ifndef GLES2 g_pHyprRenderer->makeEGLCurrent(); @@ -269,9 +275,7 @@ void CFrameSchedulingManager::onVblankTimer(void* data) { Debug::log(LOG, "timer nothing"); // cool, we don't need to do anything. Wait for present. return; - } - - if (!GPUSignaled) { + } else { Debug::log(LOG, "timer delay"); // we missed a vblank :( DATA->delayed = true; @@ -279,9 +283,6 @@ void CFrameSchedulingManager::onVblankTimer(void* data) { DATA->fenceTimer->updateTimeout(std::chrono::microseconds(850)); return; } - - // what the fuck? - Debug::log(ERR, "Vblank timer fired without a frame????"); #endif } |