discomfitor pushed a commit to branch master.

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

commit fb8c547077024dfe0287beb3b9359c0e002fa183
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Dec 15 17:21:42 2015 -0500

    evas: do not unset/delete master clip after every frame
    
    this is not ideal since it triggers a client-side rerender of every object
    which was clipped to the master clip (double render) and then this ends up
    forcing the server to rerender the same area twice as well
    
    not only that, it causes all surface damages to to be the size of the entire
    window - framespace for every frame
    
    @fix
---
 src/lib/evas/canvas/evas_render.c | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 3247b7c..4ae9af9 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2882,26 +2882,6 @@ evas_render_updates_internal(Evas *eo_e,
           }
      }
 
-   if (!strncmp(e->engine.module->definition->name, "wayland", 7))
-     {
-        /* unclip objects from master clip */
-        for (i = 0; i < e->render_objects.count; ++i)
-          {
-             obj = eina_array_data_get(&e->render_objects, i);
-             if (obj->is_frame) continue;
-             if (obj->object == e->framespace.clip) continue;
-
-             if (evas_object_clip_get(obj->object) == e->framespace.clip)
-               {
-                  /* unclip this object from the master clip */
-                  evas_object_clip_unset(obj->object);
-               }
-          }
-
-        /* delete master clip */
-        evas_object_del(e->framespace.clip);
-        e->framespace.clip = NULL;
-     }
 
    e->changed = EINA_FALSE;
    e->viewport.changed = EINA_FALSE;

-- 


Reply via email to