diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-07 22:19:23 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-10-07 22:19:23 +0100 |
| commit | abc2d442dd41cfd41e5c88795a4e892a6d2750dc (patch) | |
| tree | cba1038894cc37e0364408bd5daa3a90f41616f6 /src/render/OpenGL.cpp | |
| parent | 33d264eaa78b10d38d483900a293d09eff00faad (diff) | |
fix a VRAM leak in destroyMonitorResources
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
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); } |
