kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=94714f9b72645ec04c19a6dce91765a92e09b169
commit 94714f9b72645ec04c19a6dce91765a92e09b169 Author: Kim Woelders <k...@woelders.dk> Date: Sat Nov 15 19:01:46 2014 +0100 Initial CM/Present experimental support. Seems to work... kindof.. --- src/ecompmgr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ecompmgr.c b/src/ecompmgr.c index f84f39b..6b7c6f0 100644 --- a/src/ecompmgr.c +++ b/src/ecompmgr.c @@ -54,6 +54,9 @@ #include <X11/extensions/Xdamage.h> #include <X11/extensions/Xfixes.h> #include <X11/extensions/Xrender.h> +#if USE_XPRESENT +#include <X11/extensions/Xpresent.h> +#endif #define ENABLE_SHADOWS 1 @@ -203,6 +206,9 @@ static struct { int shadow_mode; float opac_blur; /* 0. -> 1. */ float opac_sharp; /* 0. -> 1. */ +#if USE_XPRESENT + unsigned int present_serial; +#endif } Mode_compmgr; /* FIXME - Optimize according to what actually changed */ @@ -1949,8 +1955,14 @@ ECompMgrRepaint(void) { EPictureSetClip(pbuf, NoXID); EPictureSetClip(rootPicture, Mode_compmgr.damage); +#if !USE_XPRESENT XRenderComposite(disp, PictOpSrc, pbuf, NoXID, rootPicture, 0, 0, 0, 0, 0, 0, WinGetW(VROOT), WinGetH(VROOT)); +#else + XPresentPixmap(disp, Mode_compmgr.root, Mode_compmgr.pmap, + Mode_compmgr.present_serial++, None, None, 0, 0, None, + None, None, None, 0, 0, 0, NULL, 0); +#endif } Mode_compmgr.got_damage = 0; --