diff options
| author | vaxerski <vaxry@vaxry.net> | 2025-01-08 12:34:43 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2025-01-08 12:34:43 +0100 |
| commit | 983bc067dac2e737bc724721c79d87cd81f27501 (patch) | |
| tree | 84b13b129fca1cb2ba1063db390aa7463e4810aa /src/render/OpenGL.cpp | |
| parent | b320bc2dc6e308360936ce4396010359b74558bf (diff) | |
opengl: fix crash on null fb stencil op
Diffstat (limited to 'src/render/OpenGL.cpp')
| -rw-r--r-- | src/render/OpenGL.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 819791e8..3a4781e7 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -847,7 +847,6 @@ void CHyprOpenGLImpl::begin(PHLMONITOR pMonitor, const CRegion& damage_, CFrameb m_RenderData.pCurrentMonData->offloadFB.addStencil(m_RenderData.pCurrentMonData->stencilTex); m_RenderData.pCurrentMonData->mirrorFB.addStencil(m_RenderData.pCurrentMonData->stencilTex); m_RenderData.pCurrentMonData->mirrorSwapFB.addStencil(m_RenderData.pCurrentMonData->stencilTex); - m_RenderData.pCurrentMonData->offMainFB.addStencil(m_RenderData.pCurrentMonData->stencilTex); } if (m_RenderData.pCurrentMonData->monitorMirrorFB.isAllocated() && m_RenderData.pMonitor->mirrors.empty()) @@ -2886,9 +2885,13 @@ void CHyprOpenGLImpl::restoreMatrix() { } void CHyprOpenGLImpl::bindOffMain() { - if (!m_RenderData.pCurrentMonData->offMainFB.isAllocated()) + if (!m_RenderData.pCurrentMonData->offMainFB.isAllocated()) { m_RenderData.pCurrentMonData->offMainFB.alloc(m_RenderData.pMonitor->vecPixelSize.x, m_RenderData.pMonitor->vecPixelSize.y, m_RenderData.pMonitor->output->state->state().drmFormat); + + m_RenderData.pCurrentMonData->offMainFB.addStencil(m_RenderData.pCurrentMonData->stencilTex); + } + m_RenderData.pCurrentMonData->offMainFB.bind(); clear(CHyprColor(0, 0, 0, 0)); m_RenderData.currentFB = &m_RenderData.pCurrentMonData->offMainFB; |
