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;
 

-- 


Reply via email to