From 6d1356adea0b5e9566f0a873e7113340e2351e18 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Fri, 7 Feb 2014 17:27:27 +0900 Subject: [PATCH] Evas filters: Disable proxies with the GL engine Well, proxy sources are rendered to a... GL texture! But we actually want the image pixels. So we'll need to call glReadPixels to get them. Yes, it will be horribly slow. But there isn't really a way around. This will require a new internal API. For now, just disable the feature. Hopefully I can make it work soon enough for the release? --- src/lib/evas/filters/evas_filter.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index 0e2703c..fc3f462 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -218,6 +218,13 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, obj = eo_data_scope_get(eo_obj, EVAS_OBJ_CLASS); + if (ctx->gl_engine) + { + // FIXME: We need to call glReadPixels (yeah, no other way around...) + CRI("Proxy subrender is not supported in the GL engine (yet)"); + return; + } + EINA_LIST_FOREACH(ctx->buffers, li, fb) if (fb->source) { -- 2.7.4