diff options
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 02909e36..32e30e7a 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -685,4 +685,15 @@ void CHyprOpenGLImpl::clearWithTex() { wlr_box box = {0, 0, m_RenderData.pMonitor->vecSize.x, m_RenderData.pMonitor->vecSize.y}; renderTexture(m_mMonitorBGTextures[m_RenderData.pMonitor], &box, 255, 0); -}
\ No newline at end of file +} + +void CHyprOpenGLImpl::destroyMonitorResources(SMonitor* pMonitor) { + g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].mirrorFB.release(); + g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].primaryFB.release(); + g_pHyprOpenGL->m_mMonitorRenderResources[pMonitor].stencilTex.destroyTexture(); + g_pHyprOpenGL->m_mMonitorBGTextures[pMonitor].destroyTexture(); + g_pHyprOpenGL->m_mMonitorRenderResources.erase(pMonitor); + g_pHyprOpenGL->m_mMonitorBGTextures.erase(pMonitor); + + Debug::log(LOG, "Monitor %s -> destroyed all render data", pMonitor->szName.c_str()); +} |
