From abc2d442dd41cfd41e5c88795a4e892a6d2750dc Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 7 Oct 2022 22:19:23 +0100 Subject: fix a VRAM leak in destroyMonitorResources --- src/render/OpenGL.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/render/OpenGL.cpp') diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 94bb1872..0e84fb7f 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -1287,6 +1287,8 @@ void CHyprOpenGLImpl::clearWithTex() { } void CHyprOpenGLImpl::destroyMonitorResources(CMonitor* pMonitor) { + wlr_output_attach_render(pMonitor->output, nullptr); + g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].mirrorFB.release(); g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].primaryFB.release(); g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].mirrorSwapFB.release(); @@ -1298,4 +1300,6 @@ void CHyprOpenGLImpl::destroyMonitorResources(CMonitor* pMonitor) { g_pHyprOpenGL->m_mMonitorBGTextures.erase(pMonitor); Debug::log(LOG, "Monitor %s -> destroyed all render data", pMonitor->szName.c_str()); + + wlr_output_rollback(pMonitor->output); } -- cgit v1.2.3