hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c58fef1f6ee324d947bcc819ec4229f8aee50dc8
commit c58fef1f6ee324d947bcc819ec4229f8aee50dc8 Author: Shinwoo Kim <[email protected]> Date: Fri Mar 20 15:37:31 2020 +0900 evas filter: work for native surface Summary: Filter does not know how to draw native surface image using engine_data. It means that only image knows how to draw it. In case of GL engine, image is using a shader program for IMAGENATIVE in the common_context_image_push. This patch makes filter work for native surface image by drawing the native surface first using the common_context_image_push as below. Before: image -> common_filter_*_push -> filter_output After: image -> common_context_image_push -> filter_input -> common_filter_*_push -> filter_output Test Plan: {F3856981} Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11546 --- src/lib/evas/canvas/evas_object_image.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 6ed0fe0ed2..32939b769c 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -2044,7 +2044,8 @@ _efl_canvas_image_internal_efl_canvas_filter_internal_filter_input_render( H = obj->cur->geometry.h; // FIXME: In GL we could use the image even if scaled - if (!_image_has_border(obj, o) && _image_is_filled(obj, o) && !_image_is_scaled(obj, o)) + if (!(ENFN->image_native_get && ENFN->image_native_get(engine, o->engine_data)) && + !_image_has_border(obj, o) && _image_is_filled(obj, o) && !_image_is_scaled(obj, o)) { int imagew, imageh, uvw, uvh; --
