Revert "evas-gl-drm: block the pageflip for hwc at enlightenment." 51/59851/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 19 Feb 2016 03:56:37 +0000 (12:56 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 19 Feb 2016 03:56:42 +0000 (12:56 +0900)
This reverts commit b3072ce9783f3d8baf1da18d1472bddeab6093ed.

Change-Id: I1fb1c354379733d4c65a010da8acdc48c2f78778

src/modules/evas/engines/gl_drm/Evas_Engine_GL_Drm.h
src/modules/evas/engines/gl_drm/evas_engine.c
src/modules/evas/engines/gl_drm/evas_outbuf.c

index 4238ba3..71ab60c 100644 (file)
@@ -26,12 +26,6 @@ struct _Evas_Engine_Info_GL_Drm
      {
         struct gbm_device *gbm;
 
-        /* HWC: for hwc */
-        struct gbm_surface *surface;
-        Eina_Bool wait_for_showup : 1;
-        Eina_Bool outbuf_flushed : 1;
-        Eina_Bool hwc_enable : 1;
-
         unsigned int rotation, depth;
         unsigned int crtc_id, conn_id, buffer_id;
         unsigned int format, flags;
index 30f9b5e..7981b58 100644 (file)
@@ -395,9 +395,6 @@ evgl_eng_native_window_create(void *data)
         return NULL;
      }
 
-   /* HWC: set the gbm_surface to the engine info */
-   if (info->info.hwc_enable) info->info.surface =  surface;
-
    return (void *)surface;
 }
 
index be2299d..839bb9d 100644 (file)
@@ -425,9 +425,6 @@ evas_outbuf_new(Evas_Engine_Info_GL_Drm *info, int w, int h, Render_Engine_Swap_
         return NULL;
      }
 
-   /* HWC: set the gbm_surface to the engine_info */
-   if (info->info.hwc_enable) info->info.surface =  ob->surface;
-
    return ob;
 }
 
@@ -809,39 +806,29 @@ evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode)
    if (ob->info->callback.post_swap)
      ob->info->callback.post_swap(ob->info->callback.data, ob->evas);
 
-   /* HWC: do not display the ecore_evas at gl_drm engine
-           hwc at enlightenment will update the display device */
-   if (ob->info->info.hwc_enable)
-     {
-        /* The pair of evas_outbuf_flush and post_render has to be matched */
-        ob->info->info.outbuf_flushed = EINA_TRUE;
-        INF("HWC: evas outbuf flushed");
-     }
-   else
+   if (rects)
      {
-        if (rects)
-          {
-             Tilebuf_Rect *r;
-             Eina_Rectangle *res;
-             int num, i = 0;
-
-             num = eina_inlist_count(EINA_INLIST_GET(rects));
-             res = alloca(sizeof(Eina_Rectangle) * num);
-             EINA_INLIST_FOREACH(EINA_INLIST_GET(rects), r)
-               {
-                  res[i].x = r->x;
-                  res[i].y = r->y;
-                  res[i].w = r->w;
-                  res[i].h = r->h;
-                  i++;
-               }
+        Tilebuf_Rect *r;
+        Eina_Rectangle *res;
+        int num, i = 0;
 
-             _evas_outbuf_buffer_swap(ob, res, num);
+        num = eina_inlist_count(EINA_INLIST_GET(rects));
+        res = alloca(sizeof(Eina_Rectangle) * num);
+        EINA_INLIST_FOREACH(EINA_INLIST_GET(rects), r)
+          {
+             res[i].x = r->x;
+             res[i].y = r->y;
+             res[i].w = r->w;
+             res[i].h = r->h;
+             i++;
           }
-        else
-          //Flush GL Surface data to Framebuffer
-          _evas_outbuf_buffer_swap(ob, NULL, 0);
+
+        _evas_outbuf_buffer_swap(ob, res, num);
      }
+   else
+     //Flush GL Surface data to Framebuffer
+     _evas_outbuf_buffer_swap(ob, NULL, 0);
+
    ob->priv.frame_cnt++;
 
 end: