Evas filters: Avoid CRI message when using the GL engine

A CRItical message was always displayed when setting a filter
on a text object, saying that proxy rendering is not supported on GL.

Reduce CRI to ERR and skip proxy rendering altogether if there are
no proxy sources.

This @fix needs to be backported.

Thanks zmike for reporting this.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
This commit is contained in:
Jean-Philippe ANDRE 2014-03-02 14:55:42 +09:00 committed by Jean-Philippe Andre
parent a9558235f6
commit 7f63b4a3eb
3 changed files with 4 additions and 1 deletions

View File

@ -223,10 +223,11 @@ 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->has_proxies) return;
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)");
ERR("Proxy subrender is not supported in the GL engine (yet)");
return;
}

View File

@ -2348,6 +2348,7 @@ evas_filter_context_program_use(Evas_Filter_Context *ctx,
fb->proxy = pb->eo_proxy;
fb->source = pb->eo_source;
fb->source_name = eina_stringshare_ref(pb->name);
fb->ctx->has_proxies = EINA_TRUE;
}
}

View File

@ -67,6 +67,7 @@ struct _Evas_Filter_Context
Eina_Bool async : 1;
Eina_Bool gl_engine : 1;
Eina_Bool running : 1;
Eina_Bool has_proxies : 1;
};
struct _Evas_Filter_Command