kwin/effects/cube
Martin Gräßlin 142aab2e24 Introduce an EffectsHandler::animationsSupported -> bool
Summary:
A new method to tell the effects system whether the compositor scene
is able to drive animations. E.g. on software emulation (llvmpipe) it's
better to not do any animations at all.

This information can be used by effects to adjust their behavior, e.g.
PresentWindows could skip transitions or effects can use it in their
supported check to completely disable themselves.

As a first step all scripted effects are considered to be unsupported
if animations are not supported. They inherit AnimationEffect and are
all about driving animations.

The information whether animations are supported comes from the Scene.
It's implemented in the following way:
 * XRender: animations are always supported
 * QPainter: animations are never supported
 * OpenGL: animations are supported, except for software emulation

In addition - for easier testing - there is a new env variable
KWIN_EFFECTS_FORCE_ANIMATIONS to overwrite the selection.

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D2386
2016-08-15 17:38:33 +02:00
..
data [effects] Change sphere to use shader traits variant 2016-01-25 14:11:54 +01:00
CMakeLists.txt [effects] Combine all shaders in resources 2016-02-01 08:42:30 +01:00
cube.cpp [effects] Remove clip plane from Cube effect 2016-02-01 08:43:25 +01:00
cube.h [effects] Combine all shaders in resources 2016-02-01 08:42:30 +01:00
cube.kcfg Porting effects to Qt5/KF5: QStandardPaths 2013-08-13 17:56:04 -03:00
cube_config.cpp [effects] Properly set the componentDisplayName on the KActionCollection 2015-08-12 09:40:55 +02:00
cube_config.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-01-30 09:40:55 +00:00
cube_config.h Use Q_SLOTS and Q_SIGNALS instead of slots and signals 2013-07-24 09:46:54 +02:00
cube_config.ui KIntSpinBox -> QSpinBox in kwin/effects configs 2013-09-09 07:38:30 +02:00
cube_inside.h Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
cube_proxy.cpp Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
cube_proxy.h Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
cubeconfig.kcfgc Porting effects to Qt5/KF5: QStandardPaths 2013-08-13 17:56:04 -03:00
cubeslide.cpp Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
cubeslide.h [kwin] Add a virtual Effect::requestedEffectChainPosition 2014-03-28 14:04:54 +01:00
cubeslide.kcfg Use KConfigXT in Cube/CubeSlide effect 2012-09-14 10:39:27 +02:00
cubeslide_config.cpp Do not register dbus service org.kde.kwin.Effects 2014-05-15 10:55:29 +02:00
cubeslide_config.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2016-07-25 09:56:15 +00:00
cubeslide_config.h Use Q_SLOTS and Q_SIGNALS instead of slots and signals 2013-07-24 09:46:54 +02:00
cubeslide_config.ui KIntSpinBox -> QSpinBox in kwin/effects configs 2013-09-09 07:38:30 +02:00
cubeslideconfig.kcfgc Use KConfigXT in Cube/CubeSlide effect 2012-09-14 10:39:27 +02:00