discomfitor pushed a commit to branch efl-1.16.

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

commit 46114f01c41f2508bef920848503d49d335ee1f7
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 7ce7384..c151ec7 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