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;

-- 


Reply via email to