e_plane_renderer: consider export_num when calculating render_count 34/164234/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 18 Dec 2017 06:50:21 +0000 (15:50 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 18 Dec 2017 08:49:41 +0000 (08:49 +0000)
Change-Id: Ie9270eff520351f2bd568fb116c263eda941d0f9

src/bin/e_plane_renderer.c

index 1d45c048d051325753c6ae49189b03d1d9555108..92826943c38da7fca57880801ded133ee4680423 100644 (file)
@@ -2546,6 +2546,7 @@ e_plane_renderer_render_count_get(E_Plane_Renderer *renderer)
 {
    int dequeue_num = 0;
    int enqueue_num = 0;
+   int export_num = 0;
    int count = 0;
    tbm_surface_queue_error_e tsq_err = TBM_SURFACE_QUEUE_ERROR_NONE;
 
@@ -2567,7 +2568,20 @@ e_plane_renderer_render_count_get(E_Plane_Renderer *renderer)
         return 0;
      }
 
-   count = dequeue_num + enqueue_num;
+   export_num = eina_list_count(renderer->exported_surfaces);
+   if (export_num < 0)
+     {
+        ERR("invalid export_num");
+        return 0;
+     }
+
+   count = dequeue_num + enqueue_num - export_num;
+   if (count < 0)
+     {
+        ERR("invalid render_count dequeue:%d enqueue:%d export:%d",
+            dequeue_num, enqueue_num, export_num);
+        return 0;
+     }
 
    return count;
 }