aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJean-Philippe ANDRE <jpeg@videolan.org>2014-03-02 14:55:42 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-03-04 11:13:15 +0900
commit791c0ca1aff3280dd88ec30cf723f23fb3300068 (patch)
treeeec9c674a94d772ba8fb71af693b1320967cdcf3 /src
parentEvas filters: fix clip to target calculation (diff)
downloadefl-791c0ca1aff3280dd88ec30cf723f23fb3300068.tar.gz
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>
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/filters/evas_filter.c3
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c1
-rw-r--r--src/lib/evas/filters/evas_filter_private.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c
index 3de3af53f7..5a81f89f99 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -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;
}
diff --git a/src/lib/evas/filters/evas_filter_parser.c b/src/lib/evas/filters/evas_filter_parser.c
index 68186eea73..204bba4b87 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -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;
}
}
diff --git a/src/lib/evas/filters/evas_filter_private.h b/src/lib/evas/filters/evas_filter_private.h
index c9caa6691c..bf610a8db8 100644
--- a/src/lib/evas/filters/evas_filter_private.h
+++ b/src/lib/evas/filters/evas_filter_private.h
@@ -70,6 +70,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