Evas masking: Skip GL fast path if image has fill options
authorJean-Philippe Andre <jp.andre@samsung.com>
Fri, 27 Feb 2015 04:32:50 +0000 (13:32 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 27 Feb 2015 04:33:51 +0000 (13:33 +0900)
If the image is not "filled", then we can't assume its image
source geometry is the same as its texture geometry.

Note: Implementing a fast path for non-filled images would
      require a hell of a lot more work (need to cut the render
      into a lot more triangles) for little real-life use.

src/lib/evas/canvas/evas_render.c

index c0a9e17..c7facab 100644 (file)
@@ -1825,7 +1825,7 @@ evas_render_mask_subrender(Evas_Public_Data *evas,
      mdata->redraw = EINA_FALSE;
 
      if (is_image && !prev_mask && mask->func->engine_data_get &&
-         ENFN->image_scaled_update)
+         ENFN->image_scaled_update && evas_object_image_filled_get(mask->object))
        {
           /* 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. */