[Evas] Avoid setting AFILL flag for gl_drm based surface 01/72901/2 accepted/tizen/ivi/20160609.091055 accepted/tizen/mobile/20160609.091027 accepted/tizen/tv/20160609.091037 accepted/tizen/wearable/20160609.091047 submit/tizen/20160608.130141
authorPrudhvi Raj, Vasireddi <prudhvi.raj@samsung.com>
Sun, 29 May 2016 15:08:59 +0000 (00:08 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 3 Jun 2016 11:20:06 +0000 (04:20 -0700)
Change-Id: Ifa79de5893e7b63fcdae5e4eebd24b511ccd5d21
Signed-off-by: Prudhvi Raj Vasireddi <prudhvi.raj@samsung.com>
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_common/evas_gl_shader.c
src/modules/evas/engines/gl_drm/evas_outbuf.c

index 335c2a1..e7ad53b 100755 (executable)
@@ -342,6 +342,8 @@ struct _Evas_Engine_GL_Context
    int gles_version;
 
    RGBA_Image *font_surface;
+   // TIZEN_ONLY(20160529): Set this flag for gl_drm engine surface
+   int IsGLDRM;
 };
 
 struct _Evas_GL_Texture_Pool
index 9f35350..f9e0bcf 100755 (executable)
@@ -671,6 +671,9 @@ evas_gl_common_context_new(void)
 
    tbm_symbols();
    gc->gles_version = gles_version;
+   // TIZEN_ONLY(20160529): Set this flag for gl_drm engine based surface ONLY
+   gc->IsGLDRM = 0;
+   //
 
    gc->references = 1;
 
index 20b0422..aef776e 100644 (file)
@@ -805,7 +805,11 @@ evas_gl_common_shader_flags_get(Evas_GL_Shared *shared, Shader_Type type,
         if (!tex->alpha && tex_only)
           {
              if ((flags & SHADER_FLAG_EXTERNAL) || tex->pt->dyn.img)
-               flags |= SHADER_FLAG_AFILL;
+               {
+                  // TIZEN_ONLY(20160529): Avoid AFILL flag set for gl_drm engine surface
+                  if(!tex->im->gc->IsGLDRM)
+                    flags |= SHADER_FLAG_AFILL;
+               }
           }
      }
 //
index c2c6b50..2df1d90 100644 (file)
@@ -402,6 +402,8 @@ _evas_outbuf_egl_setup(Outbuf *ob)
    ob->gl_context = glsym_evas_gl_common_context_new();
    if (!ob->gl_context) return EINA_FALSE;
 
+   // TIZEN_ONLY(20160529): set this flag for gl_drm engine surface
+   ob->gl_context->IsGLDRM = 1;
 #ifdef GL_GLES
    ob->gl_context->egldisp = ob->egl.disp;
    ob->gl_context->eglctxt = ob->egl.context[0];