jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a871ac96a8765f4e0b8b9a2298aefe3555b3997b

commit a871ac96a8765f4e0b8b9a2298aefe3555b3997b
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Fri Apr 17 09:24:46 2015 +0900

    Evas masking: Skip GL fast path for border images
    
    Right now the engines don't support mask tiles so we can't
    just scale up an image on-the-fly when doing a masking operation.
    
    Skip fast path and force render of border images into their own surface.
---
 src/lib/evas/canvas/evas_render.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 68504e2..58bbd67 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1831,9 +1831,10 @@ evas_render_mask_subrender(Evas_Public_Data *evas,
    EINA_COW_WRITE_BEGIN(evas_object_mask_cow, mask->mask, 
Evas_Object_Mask_Data, mdata)
      mdata->redraw = EINA_FALSE;
 
-     if (is_image)
+     if (is_image && ENFN->image_scaled_update)
        {
-          Eina_Bool filled = EINA_FALSE;
+          Eina_Bool filled = EINA_FALSE, border = EINA_FALSE;
+          int bl = 0, br = 0, bt = 0, bb = 0;
 
           if (evas_object_image_filled_get(mask->object))
             filled = EINA_TRUE;
@@ -1845,8 +1846,11 @@ evas_render_mask_subrender(Evas_Public_Data *evas,
                  filled = EINA_TRUE;
             }
 
-          if (filled & !prev_mask && mask->func->engine_data_get &&
-              ENFN->image_scaled_update)
+          evas_object_image_border_get(mask->object, &bl, &br, &bt, &bb);
+          if (bl || br || bt || bb)
+            border = EINA_TRUE;
+
+          if (!border && filled & !prev_mask && mask->func->engine_data_get)
             {
                /* Fast path (for GL) that avoids creating a map surface, 
render the
                 * scaled image in it, when the shaders can just scale on the 
fly. */

-- 


Reply via email to