evas/gl_common: Enable dynamic hint set using tbm 35/52235/2
authorJoogab Yun <joogab.yun@samsung.com>
Fri, 20 Nov 2015 05:48:56 +0000 (14:48 +0900)
committerjoogab yun <joogab.yun@samsung.com>
Wed, 25 Nov 2015 06:15:12 +0000 (22:15 -0800)
 surface only when egl extension is supported

Summary:
Dynamic hint set using tbm surface can only be used when EGL_TIZEN_image_native_surface
extension is supported by the driver. So check for both tbm surface and egl extension.

From 74e556febc1324a2b36531a1478481e44c594298 Mon Sep 17 00:00:00 2001
From: Dongyeon Kim <dy5.kim@samsung.com>

Change-Id: I1cbbfe2911574d989854d6e077a8caed8bbf7000

src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_image.c
src/modules/evas/engines/gl_x11/evas_engine.c [changed mode: 0755->0644]

index 87f74b9..eb5e44c 100755 (executable)
@@ -123,6 +123,7 @@ struct _Evas_GL_Shared
       Eina_Bool tex_rect : 1;
       Eina_Bool sec_image_map : 1;
       Eina_Bool sec_tbm_surface : 1;
+      Eina_Bool egl_tbm_ext : 1;
       Eina_Bool bin_program : 1;
       Eina_Bool unpack_row_length : 1;
       Eina_Bool etc1 : 1;
index 2d8d936..664b4e4 100644 (file)
@@ -603,8 +603,6 @@ evas_gl_common_image_content_hint_set(Evas_GL_Image *im, int hint)
    if (im->content_hint == hint) return;
    im->content_hint = hint;
    if (!im->gc) return;
-   if ((!im->gc->shared->info.sec_image_map)
-       && (!im->gc->shared->info.sec_tbm_surface)) return;
    if (!im->gc->shared->info.bgra) return;
    // does not handle yuv yet.
    // TODO: Check this list of cspaces
@@ -622,6 +620,8 @@ evas_gl_common_image_content_hint_set(Evas_GL_Image *im, int hint)
      }
    if (im->content_hint == EVAS_IMAGE_CONTENT_HINT_DYNAMIC)
      {
+        if ((!im->gc->shared->info.sec_image_map) &&
+            ((!im->gc->shared->info.sec_tbm_surface) || (!im->gc->shared->info.egl_tbm_ext))) return;
         if (im->cs.data)
           {
              if (!im->cs.no_free) free(im->cs.data);
old mode 100755 (executable)
new mode 100644 (file)
index 7713c21..51a3caa
@@ -1399,6 +1399,10 @@ gl_extn_veto(Render_Engine *re)
           {
              glsym_eglSwapBuffersWithDamage = NULL;
           }
+        if (strstr(str, "EGL_TIZEN_image_native_surface"))
+          {
+             eng_get_ob(re)->gl_context->shared->info.egl_tbm_ext = 1;
+          }
      }
    else
      {