devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1005cd8f89362a3e10d5377de827d6e83ffb695c
commit 1005cd8f89362a3e10d5377de827d6e83ffb695c Author: Chris Michael <[email protected]> Date: Fri Apr 4 07:51:06 2014 +0100 evas-drm: Remove all async_page_flip options/references Async page flip can cause tearing, is not supported on all cards, and apparently requires a specific libdrm patchlevel...in general, more trouble than it's worth, so let's just remove it. @bugfix Signed-off-by: Chris Michael <[email protected]> --- src/modules/evas/engines/drm/evas_drm.c | 15 ++------------- src/modules/evas/engines/drm/evas_engine.h | 2 -- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/modules/evas/engines/drm/evas_drm.c b/src/modules/evas/engines/drm/evas_drm.c index 91be2c3..2a8ea57 100644 --- a/src/modules/evas/engines/drm/evas_drm.c +++ b/src/modules/evas/engines/drm/evas_drm.c @@ -479,11 +479,6 @@ evas_drm_outbuf_setup(Outbuf *ob) ob->priv.ctx.page_flip_handler = _evas_drm_outbuf_page_flip; /* ob->priv.ctx.vblank_handler = _evas_drm_outbuf_vblank; */ - /* check if this card supports async page flipping */ - ob->priv.use_async_page_flip = EINA_FALSE; - if ((drmGetCap(ob->priv.fd, DRM_CAP_ASYNC_PAGE_FLIP, &dumb)) || (dumb)) - ob->priv.use_async_page_flip = EINA_TRUE; - /* try to get drm resources */ if (!(res = drmModeGetResources(ob->priv.fd))) { @@ -731,14 +726,8 @@ evas_drm_framebuffer_send(Outbuf *ob, Buffer *buffer) if (ob->vsync) { - unsigned int flags = 0; - - flags = DRM_MODE_PAGE_FLIP_EVENT; - if (ob->priv.use_async_page_flip) flags |= DRM_MODE_PAGE_FLIP_ASYNC; - - ret = drmModePageFlip(ob->priv.fd, ob->priv.crtc, - buffer->fb, flags, ob); - if (ret) + if (drmModePageFlip(ob->priv.fd, ob->priv.crtc, + buffer->fb, DRM_MODE_PAGE_FLIP_EVENT, ob) < 0) { ERR("Cannot flip crtc for connector %u: %m", ob->priv.conn); return EINA_FALSE; diff --git a/src/modules/evas/engines/drm/evas_engine.h b/src/modules/evas/engines/drm/evas_engine.h index 0487ad6..a7d3990 100644 --- a/src/modules/evas/engines/drm/evas_engine.h +++ b/src/modules/evas/engines/drm/evas_engine.h @@ -117,8 +117,6 @@ struct _Outbuf drmEventContext ctx; Eina_Bool pending_flip : 1; - Eina_Bool use_async_page_flip : 1; - Eina_List *pending_writes; Eina_List *planes; --
