kwin/src/platformsupport/scenes/opengl
Martin Flöser 68589fe937 compositor: Merge the OpenGL 2 and 3 backends
This change merges the two OpenGL backends into one making the current
default of GLCore the overall default. It becomes the first context to
try to create. If it fails, it will automatically fall back to the
(previous) OpenGL 2 backend.

Reasoning: the differentiation of OpenGL 2 and 3 is a very technical one
and hard to understand for users. It is not obvious which one is better
or should be used. This results in many user discussions like "Which
backend to use?"

Back when the OpenGL 3 backend was introduced the dedicated feature made
sense. It was a new code base using new driver features. Nowadays the
code base in KWin is robust and mature and so are the drivers. A driver
advertising support for OpenGL 3 will support OpenGL 3. We don't have to
plan for driver breakage in this area any more.

Also our code evolved through the context attribute builder which gives
us the possibility to more easily fall back in case we cannot create the
context. Thus the need to select the backend is not so important as it
used to be when the feature got introduced.

If a user still wants to force OpenGL2, it is still possible by setting
the appropriate environment variables like MESA_GL_VERSION_OVERRIDE.

This change brings the improvement that the backend selection is now
completely removed from the compositing KCM.
2021-10-08 15:26:25 +00:00
..
abstract_egl_backend.cpp compositor: Merge the OpenGL 2 and 3 backends 2021-10-08 15:26:25 +00:00
abstract_egl_backend.h Make OpenGLBackend and QPainterBackend QObjects 2021-07-24 11:30:13 +03:00
basiceglsurfacetexture_internal.cpp Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
basiceglsurfacetexture_internal.h Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
basiceglsurfacetexture_wayland.cpp Remove scene window traces in scene items 2021-08-12 17:52:24 +00:00
basiceglsurfacetexture_wayland.h wayland: Switch to ClientBuffer 2021-07-23 15:33:38 +00:00
CMakeLists.txt Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
drm_fourcc.h Move source code to src/ directory 2021-02-10 15:31:43 +00:00
egl_dmabuf.cpp wayland: Switch to ClientBuffer 2021-07-23 15:33:38 +00:00
egl_dmabuf.h wayland: Switch to ClientBuffer 2021-07-23 15:33:38 +00:00
kwineglext.h Move source code to src/ directory 2021-02-10 15:31:43 +00:00
openglbackend.cpp Port screenId based rendering methods to AbstractOutput 2021-08-25 13:53:33 +02:00
openglbackend.h Port screenId based rendering methods to AbstractOutput 2021-08-25 13:53:33 +02:00
platformopenglsurfacetexture.cpp Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
platformopenglsurfacetexture.h Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
platformopenglsurfacetexture_internal.cpp Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
platformopenglsurfacetexture_internal.h Remove scene window traces in scene items 2021-08-12 17:52:24 +00:00
platformopenglsurfacetexture_wayland.cpp Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
platformopenglsurfacetexture_wayland.h Remove scene window traces in scene items 2021-08-12 17:52:24 +00:00
platformopenglsurfacetexture_x11.cpp Decouple window pixmaps from scene windows 2021-05-18 09:11:24 +00:00
platformopenglsurfacetexture_x11.h Remove scene window traces in scene items 2021-08-12 17:52:24 +00:00