diff --git a/src/lib/evas/canvas/evas_3d_texture.c b/src/lib/evas/canvas/evas_3d_texture.c index e289d10a95..314450cddf 100644 --- a/src/lib/evas/canvas/evas_3d_texture.c +++ b/src/lib/evas/canvas/evas_3d_texture.c @@ -145,7 +145,7 @@ _texture_proxy_subrender(Evas_3D_Texture *obj) evas_render_mapped(e, pd->source, source, ctx, proxy_write->surface, -source->cur->geometry.x, -source->cur->geometry.y, - 1, 0, 0, e->output.w, e->output.h, + 2, 0, 0, e->output.w, e->output.h, &proxy_render_data, 1, EINA_FALSE, EINA_FALSE); } diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 5032b49541..7d398b1cc2 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1548,7 +1548,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj, if (obj->is_smart) { /* Clipper masks */ - if (obj->cur->clipper && + if (obj->cur->clipper && (mapped > 1) && _evas_render_object_is_mask(obj->cur->clipper)) { // This path can be hit when we're multiplying masks on top of each other... @@ -1584,7 +1584,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj, { clean_them |= evas_render_mapped(e, obj2->object, obj2, ctx, surface, - off_x, off_y, 1, + off_x, off_y, mapped + 1, ecx, ecy, ecw, ech, proxy_render_data, level + 1, @@ -1601,7 +1601,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj, } else { - if (obj->cur->clipper) + if (obj->cur->clipper && (mapped > 1)) { if (_evas_render_has_map(eo_obj, obj) || _evas_render_object_is_mask(obj->cur->clipper)) @@ -1639,7 +1639,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object *eo_obj, } } obj->func->render(eo_obj, obj, obj->private_data, - e->engine.data.output, ctx, + e->engine.data.output, ctx, surface, off_x, off_y, EINA_FALSE); } if (restore_image_clip) @@ -1758,7 +1758,7 @@ evas_render_proxy_subrender(Evas *eo_e, Evas_Object *eo_source, Evas_Object *eo_ evas_render_mapped(evas, eo_source, source, ctx, proxy_write->surface, -source->cur->geometry.x, -source->cur->geometry.y, - 1, 0, 0, evas->output.w, evas->output.h, + 2, 0, 0, evas->output.w, evas->output.h, &proxy_render_data, 1, EINA_TRUE, do_async); ENFN->context_free(ENDT, ctx); @@ -1910,7 +1910,7 @@ evas_render_mask_subrender(Evas_Public_Data *evas, prev_mask->cur->geometry.y - y); } evas_render_mapped(evas, mask->object, mask, ctx, mdata->surface, - -x, -y, 1, 0, 0, evas->output.w, evas->output.h, + -x, -y, 2, 0, 0, evas->output.w, evas->output.h, NULL, level, EINA_TRUE, EINA_FALSE); ENFN->context_free(ENDT, ctx);