kwin/plugins/scenes/opengl
Vlad Zahorodnii 9c20df5030 screencast: Use fences to avoid stalling the graphics pipeline
Currently, we use glFinish() to ensure that stream consumers don't see
corrupted or rather incomplete buffers. This is a serious issue because
glFinish() not only prevents the gpu from processing new GL commands,
but it also blocks the compositor.

This change addresses the blocking issue by using native fences. With
the proposed change, after finishing recording a frame, a fence is
inserted in the command stream. When the native fence is signaled, the
pending pipewire buffer will be enqueued.

If the EGL_ANDROID_native_fence_sync extension is not supported, we'll
fall back to using glFinish().
2020-10-19 14:23:06 +00:00
..
shaders Move lanczos filter away from KWin core 2019-02-07 18:03:34 +02:00
CMakeLists.txt Undo some recent cmake changes 2019-09-18 13:50:52 +03:00
lanczosfilter.cpp scenes/opengl: Use std::array to store lanczos kernel data 2020-09-09 19:36:26 +00:00
lanczosfilter.h Hopefully fix the build on BSD 2020-09-10 01:06:41 +02:00
opengl.json SVN_SILENT made messages (.desktop file) - always resolve ours 2020-09-30 06:16:48 +02:00
resources.qrc Move lanczos filter away from KWin core 2019-02-07 18:03:34 +02:00
scene_opengl.cpp screencast: Use fences to avoid stalling the graphics pipeline 2020-10-19 14:23:06 +00:00
scene_opengl.h screencast: Use fences to avoid stalling the graphics pipeline 2020-10-19 14:23:06 +00:00