summaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2023-12-07 17:58:13 +0000
committerVaxry <vaxry@vaxry.net>2023-12-07 17:58:13 +0000
commitaa020a2a1a560bd42f7ddc8c4808fd6db396ee8b (patch)
treecd1c29fafa5090481453aef2e0a2fc655ff2fa57 /src/protocols
parentd9175a0181eb54b14e58b9ce655df3bc74e4ae8c (diff)
toplevel-export: commence render pass before reading
fixes #4070
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/ToplevelExport.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/protocols/ToplevelExport.cpp b/src/protocols/ToplevelExport.cpp
index 23ae996e..3c80eb18 100644
--- a/src/protocols/ToplevelExport.cpp
+++ b/src/protocols/ToplevelExport.cpp
@@ -394,14 +394,16 @@ bool CToplevelExportProtocolManager::copyFrameShm(SScreencopyFrame* frame, times
return false;
}
- g_pHyprOpenGL->m_RenderData.mainFB->bind();
+ g_pHyprRenderer->endRender();
+
+ g_pHyprRenderer->makeEGLCurrent();
+
+ outFB.bind();
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, frame->box.width, frame->box.height, PFORMAT->glFormat, PFORMAT->glType, data);
- g_pHyprRenderer->endRender();
-
wlr_buffer_end_data_ptr_access(frame->buffer);
if (frame->overlayCursor)