fix dt issues

This commit is contained in:
Vaxry 2024-06-25 18:23:27 +02:00
parent 029d4fb805
commit 38895ce843

View file

@ -2598,7 +2598,9 @@ bool CHyprRenderer::beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode
return true;
}
int bufferAge = 0;
/* This is a constant expression, as we always use double-buffering in our swapchain
TODO: Rewrite the CDamageRing to take advantage of that maybe? It's made to support longer swapchains atm because we used to do wlroots */
static constexpr const int HL_BUFFER_AGE = 2;
if (!buffer) {
Aquamarine::SSwapchainOptions opts = pMonitor->output->swapchain->currentOptions();
@ -2610,7 +2612,7 @@ bool CHyprRenderer::beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode
return false;
}
m_pCurrentBuffer = pMonitor->output->swapchain->next(&bufferAge);
m_pCurrentBuffer = pMonitor->output->swapchain->next(nullptr);
if (!m_pCurrentBuffer) {
Debug::log(ERR, "Failed to acquire swapchain buffer for {}", pMonitor->szName);
return false;
@ -2626,7 +2628,7 @@ bool CHyprRenderer::beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode
}
if (mode == RENDER_MODE_NORMAL) {
damage = pMonitor->damage.getBufferDamage(bufferAge);
damage = pMonitor->damage.getBufferDamage(HL_BUFFER_AGE);
pMonitor->damage.rotate();
}