kwin/src/plugins
Erik Kurzinger 770875a76e platforms/drm: check wl_eglstream buffers before attaching
If a wl_eglstream buffer is attached to a surface, but then later a different
type of buffer, such as a dmabuf, is attached to the same surface, kwin will
mistakenly keep trying to acquire frames from the EGLStream associated with the
previous buffer. This can happen if an Xwayland window is made full-screen
causing it to switch to the flipping presentation path, for instance. The
result is that the window contents will no longer be updated.

Instead, the eglstream backend's loadTexture and updateTexture functions should
first pass the buffer to eglCreateStreamAttribNV. If it fails with
EGL_BAD_STREAM_KHR, that indicates it is indeed a wl_eglstream, and that we've
already associated a server-side EGLStream with it in attachStreamConsumer, so
we can proceed as usual. If it fails with EGL_BAD_ACCESS, though, that
indicates it is not a wl_eglstream and we should fall back to the parent class
which handles attaching other buffer types. If it doesn't fail at all, that
means the client tried to attach a new wl_eglstream to a surface without first
attaching the stream consumer. There's not really a great way to handle this,
so just re-use the previous EGLStream.
2021-07-05 11:13:24 +00:00
..
colord-integration plugins: Port away from deprecated version checks 2021-06-07 15:01:19 +00:00
idletime Run clazy with qt-keywords fixit 2021-06-08 10:49:42 +03:00
kdecorations Run clazy with qt-keywords fixit 2021-06-08 10:49:42 +03:00
kglobalaccel
kpackage SVN_SILENT made messages (.desktop file) - always resolve ours 2021-06-30 01:21:12 +00:00
krunner-integration SVN_SILENT made messages (.desktop file) - always resolve ours 2021-06-30 01:21:12 +00:00
nightcolor Run clazy with qt-keywords fixit 2021-06-08 10:49:42 +03:00
platforms platforms/drm: check wl_eglstream buffers before attaching 2021-07-05 11:13:24 +00:00
qpa Run clazy with qt-keywords fixit 2021-06-08 10:49:42 +03:00
scenes scenes/opengl: Update unstyled EffectFrame texture only when rendering 2021-06-22 09:58:31 +03:00
screencast plugins: Port away from deprecated version checks 2021-06-07 15:01:19 +00:00
windowsystem windowsystem: Fix compilation with no deprecated build of KWindowSystem 2021-04-29 10:46:39 +03:00
CMakeLists.txt