kwin/libkwineffects
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
..
anidata.cpp optimize string operations 2015-11-05 14:14:06 +00:00
anidata_p.h use a global static for animation ids 2016-03-23 12:03:31 +01:00
CMakeLists.txt Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
kwinanimationeffect.cpp use a global static for animation ids 2016-03-23 12:03:31 +01:00
kwinanimationeffect.h allow to retarget animations 2016-02-16 13:59:22 +01:00
kwinconfig.h.cmake Bind building of glx support on whether epoxy has a glx header 2015-11-03 09:29:31 +01:00
kwineffects.cpp Be sure isCurrentTab returns true 2016-06-01 20:46:35 +03:00
kwineffects.h Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
kwinglcolorcorrection.cpp [libkwinglutils] Cleanup Shader API: removal of ShaderType 2016-01-26 09:42:49 +01:00
kwinglcolorcorrection.h Replace NULL with nullptr in libkwineffects 2014-01-08 11:55:49 +01:00
kwinglcolorcorrection_p.h Remove most calls to checkGLError() 2014-11-25 21:57:57 +01:00
kwinglobals.h Support triggering application launcher through screenedge 2016-08-10 20:39:28 +02:00
kwinglplatform.cpp [libkwinglutils] Revert version hack for Qualcomm Adreno on libhybris 2016-08-12 15:46:55 +02:00
kwinglplatform.h [libkwineffects] Add detection code for Qualcomm Adreno to GLPlatform 2016-08-12 09:59:38 +02:00
kwingltexture.cpp [kwinglutils] Don't setup old shader API for rendering a texture 2016-01-25 14:11:54 +01:00
kwingltexture.h [libkwineffects] Fix includes in kwingltexture.h 2016-08-08 15:46:25 +02:00
kwingltexture_p.h Check GL version and/or extension for using texture format GL_R8 2015-02-18 09:09:50 +01:00
kwinglutils.cpp [libkwinglutils] hasGLVersion uses GLPlatform for verison check 2016-08-12 10:14:49 +02:00
kwinglutils.h Add an OpenGL information tab to Debug Console 2016-08-10 08:27:36 +02:00
kwinglutils_funcs.cpp Don't query for GL_CONTEXT_FLAGS if not at least OpenGL 3.0 2015-11-19 11:20:33 +01:00
kwinglutils_funcs.h Revert "Handle conflicts between epoxy and manually resolved function pointers" 2015-11-17 14:58:59 +01:00
kwinxrenderutils.cpp [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
kwinxrenderutils.h [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
logging_p.h pedantic fixes 2016-07-16 13:14:44 -04:00
Mainpage.dox Move kwineffects library into own directory 2011-02-19 10:01:31 +01:00
Messages.sh Improve message extraction 2011-02-20 16:02:33 +01:00