kwin/plugins/qpa
Vlad Zahorodnii cc8cb8db9d qpa: Create a pbuffer for internal windows
If the surfaceless context extension is unsupported by the underlying
platform, the QPA will use the EGLSurface of the first output to make
OpenGL contexts current.

If an internal window attempts to make an OpenGL context current while
compositing is being restarted, for example it's typically the case with
the composited outline visual, QPA will either try to make the context
current with a no longer valid EGLSurface for the first output or will
crash during the call to Platform::supportsSurfacelessContext(). The
latter needs more explanation. After the compositingToggled() signal has
been emitted, there is no scene and supportsSurfacelessContext() doesn't
handle this case.

In either case, we could return EGL_NO_SURFACE if compositing is being
restarted, but if the underlying platform doesn't support the surfaceless
context extension, then the composited outline will not be able to
delete used textures, framebuffer objects, etc.

This change addresses that problem by making sure that every platform
window has a pbuffer allocated in case the surfaceless context extension
is unsupported.
2020-10-19 06:12:13 +00:00
..
backingstore.cpp Prettify license headers 2020-08-07 19:57:56 +00:00
backingstore.h qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
CMakeLists.txt qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
eglhelpers.cpp Prettify license headers 2020-08-07 19:57:56 +00:00
eglhelpers.h Prettify license headers 2020-08-07 19:57:56 +00:00
eglplatformcontext.cpp qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
eglplatformcontext.h qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
integration.cpp qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
integration.h qpa: remove unused override for the inputcontext 2020-09-03 12:29:57 +00:00
kwin.json
main.cpp Prettify license headers 2020-08-07 19:57:56 +00:00
offscreensurface.cpp qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
offscreensurface.h qpa: Merge OpenGL platform context classes 2020-10-13 05:32:48 +00:00
platformcursor.cpp Prettify license headers 2020-08-07 19:57:56 +00:00
platformcursor.h Prettify license headers 2020-08-07 19:57:56 +00:00
screen.cpp qpa: Expose output names to QScreen 2020-09-23 06:36:31 +00:00
screen.h qpa: Expose output names to QScreen 2020-09-23 06:36:31 +00:00
window.cpp qpa: Create a pbuffer for internal windows 2020-10-19 06:12:13 +00:00
window.h qpa: Create a pbuffer for internal windows 2020-10-19 06:12:13 +00:00