[evas_engine] add stride_get in case of tbm surface 12/128412/2
authorJoogab Yun <joogab.yun@samsung.com>
Wed, 10 May 2017 02:08:21 +0000 (11:08 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Mon, 15 May 2017 00:57:17 +0000 (00:57 +0000)
Change-Id: I6963a338c5f7a51a4a2929bcf780687dfd6f39a1

src/modules/evas/engines/gl_generic/evas_engine.c

index a5001cc..38209ac 100644 (file)
@@ -1384,6 +1384,19 @@ eng_image_stride_get(void *data EINA_UNUSED, void *image, int *stride)
 {
    Evas_GL_Image *im = image;
 
+   if (im->native.data)
+     {
+       Evas_Native_Surface *ns = im->native.data;
+       if (ns->type == EVAS_NATIVE_SURFACE_TBM)
+         {
+           tbm_surface_h tbm = ns->data.tbm.buffer;
+           tbm_surface_info_s tinfo;
+           secsym_tbm_surface_get_info(tbm, &tinfo);
+           *stride = tinfo.planes[0].stride;
+           return;
+         }
+     }
+
    if ((im->tex) && (im->tex->pt->dyn.img))
      *stride = im->tex->pt->dyn.stride;
    else