[EvasTBM] Fix the bug when tbm surface is resized. 84/131084/3
authorWonsik, Jung <sidein@samsung.com>
Thu, 25 May 2017 09:49:56 +0000 (18:49 +0900)
committerWonsik Jung <sidein@samsung.com>
Thu, 1 Jun 2017 01:58:37 +0000 (01:58 +0000)
When tbm surface is resized, tbm_surface_queue_reset should be called to reset tbm surface queue.

Change-Id: If6905f5a91a59bcd56ffc38bf2281ade8aa26296

src/modules/evas/engines/gl_tbm/evas_tbm_main.c

index b63aab8..ce1a558 100755 (executable)
@@ -338,11 +338,16 @@ eng_window_resurf(Outbuf *gw)
 void
 eng_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth EINA_UNUSED)
 {
-   ob->w = w;
-   ob->h = h;
-   ob->rot = rot;
-   eng_window_use(ob);
-   glsym_evas_gl_common_context_resize(ob->gl_context, w, h, rot,1);
+   if (ob->w != w || ob->h != h)
+     {
+        ob->w = w;
+        ob->h = h;
+        ob->rot = rot;
+        eng_window_use(ob);
+        glsym_evas_gl_common_context_resize(ob->gl_context, w, h, rot,1);
+
+        tbm_surface_queue_reset(ob->tbm_queue, w, h, TBM_FORMAT_ARGB8888);
+     }
 }
 
 int