jpeg pushed a commit to branch efl-1.9.

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

commit 791c0ca1aff3280dd88ec30cf723f23fb3300068
Author: Jean-Philippe ANDRE <[email protected]>
Date:   Sun Mar 2 14:55:42 2014 +0900

    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 <[email protected]>
---
 src/lib/evas/filters/evas_filter.c         | 3 ++-
 src/lib/evas/filters/evas_filter_parser.c  | 1 +
 src/lib/evas/filters/evas_filter_private.h | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index 3de3af5..5a81f89 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 68186ee..204bba4 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 c9caa66..bf610a8 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

-- 


Reply via email to