D7232: Move SceneXRender into a plugin

Martin Flöser noreply at phabricator.kde.org
Thu Aug 10 16:23:42 UTC 2017


graesslin created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.

REVISION SUMMARY
  First step for loading the compositor Scenes through plugins. The general
  idea is that we currently needlessly pull in all the Scenes although only
  one will be used.
  
  E.g. on X11 we pull in QPainter, although they are not compatible. On
  Wayland we pull in XRender although they are not compatible.
  
  Furthermore our current Scene creation strategy is not really fault
  tolerant and can create situations where we don't get a compositor. E.g
  on fbdev backend the default settings won't work as it does not support
  OpenGL.
  
  Long term I want to tackle those conceptional problems together:
  we try to load all plugins supported by the current platform till we have
  a scene which works. Thus on Wayland we don't end up in a situation where
  we don't have a working compositor because the configuration is bad.
  
  To make this possible the switch statement in the Scene needs to go and
  needs to be replaced by a for loop iterating over all the available
  scenes on the platform. If we go there it makes sense to replace it
  directly with a plugin based approach.
  
  So this is a change which tackles the problem by first introducing the
  plugin loading. The xrender based scene (as it's the most simple one)
  is moved into a plugin. It is first tried to find a scene plugin and only
  if there is none the existing code is used.

TEST PLAN
  Tested all scenes

REPOSITORY
  R108 KWin

BRANCH
  scene-xrender-plugin

REVISION DETAIL
  https://phabricator.kde.org/D7232

AFFECTED FILES
  CMakeLists.txt
  composite.cpp
  decorations/decorationrenderer.h
  effects.h
  plugins/CMakeLists.txt
  plugins/scenes/CMakeLists.txt
  plugins/scenes/xrender/CMakeLists.txt
  plugins/scenes/xrender/scene_xrender.cpp
  plugins/scenes/xrender/scene_xrender.h
  plugins/scenes/xrender/xrender.json
  scene.cpp
  scene.h
  scene_xrender.cpp
  scene_xrender.h
  shadow.h

To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170810/14a34815/attachment.html>


More information about the Plasma-devel mailing list