ee_drm: simplify flipping
authorDerek Foreman <derekf@osg.samsung.com>
Thu, 8 Sep 2016 03:25:43 +0000 (22:25 -0500)
committerDerek Foreman <derekf@osg.samsung.com>
Thu, 8 Sep 2016 18:55:24 +0000 (13:55 -0500)
We no longer have to track draw and display buffers - the display buffer
is completely handled by ecore_evas_drm's busy tracking.

src/modules/evas/engines/drm/evas_engine.h
src/modules/evas/engines/drm/evas_outbuf.c

index 3a5c3c2..f125379 100644 (file)
@@ -58,7 +58,7 @@ struct _Outbuf
    struct
      {
         int num;
-        Outbuf_Fb ofb[4], *draw, *display;
+        Outbuf_Fb ofb[4], *draw;
         Ecore_Drm2_Output *output;
         Eina_List *pending;
         Eina_Rectangle *rects;
index 01394d0..c3f6c4e 100644 (file)
@@ -18,9 +18,7 @@ _outbuf_buffer_swap(Outbuf *ob, Eina_Rectangle *rects, unsigned int count)
    if (!ofb) return;
 
    ecore_drm2_fb_dirty(ofb->fb, rects, count);
-   if (ecore_drm2_fb_flip(ofb->fb, ob->priv.output) == 0)
-     ob->priv.display = ofb;
-
+   ecore_drm2_fb_flip(ofb->fb, ob->priv.output);
    ofb->drawn = EINA_TRUE;
    ofb->age = 0;
 
@@ -231,7 +229,6 @@ _outbuf_fb_wait(Outbuf *ob)
     */
    for (i = 0; i < ob->priv.num; i++)
      {
-        if (&ob->priv.ofb[i] == ob->priv.display) continue;
         if (ecore_drm2_fb_busy_get(ob->priv.ofb[i].fb)) continue;
         if (ob->priv.ofb[i].valid && (ob->priv.ofb[i].age > best_age))
           {