cedric pushed a commit to branch master.

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

commit a5b4defdd559089bf289d4f71a4b7f015c586af9
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Fri Aug 25 10:52:29 2017 -0700

    evas: use output instead of default one during rendering of proxy.
---
 src/lib/evas/canvas/evas_filter_mixin.c     | 2 +-
 src/lib/evas/canvas/evas_object_image.c     | 2 +-
 src/lib/evas/canvas/evas_object_textblock.c | 2 +-
 src/lib/evas/canvas/evas_render.c           | 4 ++--
 src/lib/evas/filters/evas_filter.c          | 4 ++--
 src/lib/evas/include/evas_filter.h          | 2 +-
 src/lib/evas/include/evas_private.h         | 2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/canvas/evas_filter_mixin.c 
b/src/lib/evas/canvas/evas_filter_mixin.c
index 3f3292ec04..64574b3fd2 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -412,7 +412,7 @@ evas_filter_object_render(Eo *eo_obj, 
Evas_Object_Protected_Data *obj,
      }
 
    // Proxies
-   evas_filter_context_proxy_render_all(filter, eo_obj, EINA_FALSE);
+   evas_filter_context_proxy_render_all(filter, eo_obj, output, EINA_FALSE);
 
    // Draw Context
    drawctx = ENFN->context_new(engine);
diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 9db54b42ec..6d23f1a212 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -2092,7 +2092,7 @@ _evas_image_pixels_get(Eo *eo_obj, 
Evas_Object_Protected_Data *obj,
    else
      {
         o->proxyrendering = EINA_TRUE;
-        evas_render_proxy_subrender(obj->layer->evas->evas, o->cur->source,
+        evas_render_proxy_subrender(obj->layer->evas->evas, output, 
o->cur->source,
                                     eo_obj, obj, o->proxy_src_clip, 
EINA_FALSE);
         pixels = source->proxy->surface;
         *imagew = source->proxy->w;
diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 79abde8b94..ae0ab261af 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -13520,7 +13520,7 @@ evas_object_textblock_render(Evas_Object *eo_obj 
EINA_UNUSED,
         ENFN->context_multiplier_set(engine, context,
                                      obj->cur->cache.clip.r, 
obj->cur->cache.clip.g,
                                      obj->cur->cache.clip.b, 
obj->cur->cache.clip.a);
-        evas_filter_context_proxy_render_all(ctx, eo_obj, EINA_FALSE);
+        evas_filter_context_proxy_render_all(ctx, eo_obj, output, EINA_FALSE);
         evas_filter_context_buffers_allocate_all(ctx);
         evas_filter_target_set(ctx, context, surface, target.x, target.y, 
NULL);
         ti->gfx_filter->ctx = ctx;
diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 47d4efa025..f5485c4838 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2309,7 +2309,7 @@ end:
  * TODO: 3d objects subrender should probably be merged here as well.
  */
 void
-evas_render_proxy_subrender(Evas *eo_e, Evas_Object *eo_source, Evas_Object 
*eo_proxy,
+evas_render_proxy_subrender(Evas *eo_e, void *output, Evas_Object *eo_source, 
Evas_Object *eo_proxy,
                             Evas_Object_Protected_Data *proxy_obj,
                             Eina_Bool source_clip, Eina_Bool do_async)
 {
@@ -2363,7 +2363,7 @@ evas_render_proxy_subrender(Evas *eo_e, Evas_Object 
*eo_source, Evas_Object *eo_
         ctx = ENFN->context_new(ENC);
         ENFN->context_color_set(ENC, ctx, 0, 0,0, 0);
         ENFN->context_render_op_set(ENC, ctx, EVAS_RENDER_COPY);
-        ENFN->rectangle_draw(ENC, ENDT, ctx, proxy_write->surface, 0, 0, w, h, 
do_async);
+        ENFN->rectangle_draw(ENC, output, ctx, proxy_write->surface, 0, 0, w, 
h, do_async);
         ENFN->context_free(ENC, ctx);
         eina_evlog("-proxy_fill", eo_proxy, 0.0, NULL);
 
diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index e95296258b..0f0a835df7 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -118,7 +118,7 @@ _filter_buffer_backing_free(Evas_Filter_Buffer *fb)
 
 /** @hidden private render proxy objects */
 void
-evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj,
+evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, 
void *output,
                                      Eina_Bool do_async)
 {
    Evas_Object_Protected_Data *source;
@@ -148,7 +148,7 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context 
*ctx, Eo *eo_obj,
                XDBG("Source needs to be rendered: '%s' of type '%s' (%s)",
                    fb->source_name, 
efl_class_name_get(efl_class_get(fb->source)),
                    source->proxy->redraw ? "redraw" : "no surface");
-               evas_render_proxy_subrender(ctx->evas->evas, fb->source, 
eo_obj, obj, EINA_FALSE, do_async);
+               evas_render_proxy_subrender(ctx->evas->evas, output, 
fb->source, eo_obj, obj, EINA_FALSE, do_async);
             }
           if (fb->buffer)
             {
diff --git a/src/lib/evas/include/evas_filter.h 
b/src/lib/evas/include/evas_filter.h
index 175069c7a7..00b9bbf08c 100644
--- a/src/lib/evas/include/evas_filter.h
+++ b/src/lib/evas/include/evas_filter.h
@@ -152,7 +152,7 @@ Eina_Bool                
evas_filter_context_async_get(Evas_Filter_Context *ctx)
 void                     evas_filter_context_size_get(Evas_Filter_Context 
*ctx, int *w, int *H);
 void                     evas_filter_context_destroy(Evas_Filter_Context *ctx);
 Eina_Bool                evas_filter_context_program_use(void *engine, void 
*output, Evas_Filter_Context *ctx, Evas_Filter_Program *pgm, Eina_Bool reuse, 
int object_x, int object_y);
-void                     
evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, 
Eina_Bool do_async);
+void                     
evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, void 
*output, Eina_Bool do_async);
 void                     
evas_filter_context_post_run_callback_set(Evas_Filter_Context *ctx, 
Evas_Filter_Cb cb, void *data);
 #define                  evas_filter_context_autodestroy(ctx) 
evas_filter_context_post_run_callback_set(ctx, ((Evas_Filter_Cb) 
evas_filter_context_destroy), ctx)
 Eina_Bool                
evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx);
diff --git a/src/lib/evas/include/evas_private.h 
b/src/lib/evas/include/evas_private.h
index 5d40c32b5a..cf43529af9 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -2056,7 +2056,7 @@ Eina_Bool evas_render_mapped(Evas_Public_Data *e, 
Evas_Object *obj,
                              int level, Eina_Bool do_async);
 void evas_render_invalidate(Evas *e);
 void evas_render_object_recalc(Evas_Object_Protected_Data *obj);
-void evas_render_proxy_subrender(Evas *eo_e, Evas_Object *eo_source, 
Evas_Object *eo_proxy, Evas_Object_Protected_Data *proxy_obj, Eina_Bool 
source_clip, Eina_Bool do_async);
+void evas_render_proxy_subrender(Evas *eo_e, void *output, Evas_Object 
*eo_source, Evas_Object *eo_proxy, Evas_Object_Protected_Data *proxy_obj, 
Eina_Bool source_clip, Eina_Bool do_async);
 void evas_render_mask_subrender(Evas_Public_Data *e, 
Evas_Object_Protected_Data *mask, Evas_Object_Protected_Data *prev_mask, int 
level, Eina_Bool do_async);
 
 Eina_Bool evas_map_inside_get(const Evas_Map *m, Evas_Coord x, Evas_Coord y);

-- 


Reply via email to