raster pushed a commit to branch master.

commit 1f82fbe14d2ac5a2437e7905065974033920d139
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Tue Aug 27 17:21:10 2013 +0900

    evas - unify partial update in sw engine swapper so it is like gl
---
 src/modules/evas/engines/software_x11/evas_engine.c       |  7 +++----
 src/modules/evas/engines/software_x11/evas_xlib_swapper.c | 14 ++------------
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/src/modules/evas/engines/software_x11/evas_engine.c 
b/src/modules/evas/engines/software_x11/evas_engine.c
index c149b08..d5fbe66 100644
--- a/src/modules/evas/engines/software_x11/evas_engine.c
+++ b/src/modules/evas/engines/software_x11/evas_engine.c
@@ -791,7 +791,9 @@ eng_output_redraws_next_update_get(void *data, int *x, int 
*y, int *w, int *h, i
        re->rects = evas_common_tilebuf_get_render_rects(re->tb);
         if (re->rects)
           {
-             if (re->lost_back)
+             if (re->outbuf_swap_mode_get) mode = 
re->outbuf_swap_mode_get(re->ob);
+             re->mode = mode;
+             if ((re->lost_back) || (re->mode == MODE_FULL))
                {
                   /* if we lost our backbuffer since the last frame redraw all 
*/
                   re->lost_back = 0;
@@ -807,9 +809,6 @@ eng_output_redraws_next_update_get(void *data, int *x, int 
*y, int *w, int *h, i
              re->rects_prev[1] = re->rects_prev[0];
              re->rects_prev[0] = re->rects;
              re->rects = NULL;
-             if (re->outbuf_swap_mode_get) mode = 
re->outbuf_swap_mode_get(re->ob);
-             re->mode = mode;
-
              switch (re->mode)
                {
                 case MODE_FULL:
diff --git a/src/modules/evas/engines/software_x11/evas_xlib_swapper.c 
b/src/modules/evas/engines/software_x11/evas_xlib_swapper.c
index dc2eb45..705f077 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_swapper.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_swapper.c
@@ -824,19 +824,9 @@ evas_xlib_swapper_buffer_state_get(X_Swapper *swp)
    flags = (DRI2BufferFlags *)(&(swp->buf->flags));
    if (flags->data.idx_reuse != swp->last_count)
      {
-        static int force_full_on_reuse_change = -1;
-        
         swp->last_count = flags->data.idx_reuse;
-        if (force_full_on_reuse_change == -1)
-          {
-             if (getenv("EVAS_FORCE_FULL_ON_REUSE_CHANGE")) 
force_full_on_reuse_change = 1;
-             else force_full_on_reuse_change = 0;
-          }
-        if (force_full_on_reuse_change)
-          {
-             if (swap_debug) printf("Reuse changed - force FULL\n");
-             return MODE_FULL;
-          }
+        if (swap_debug) printf("Reuse changed - force FULL\n");
+        return MODE_FULL;
      }
    if (swap_debug) printf("Swap state idx_reuse = %i (0=FULL, 1=COPY, 
2=DOUBLE, 3=TRIPLE)\n", flags->data.idx_reuse);
    if (flags->data.idx_reuse == 0) return MODE_FULL;

-- 

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

Reply via email to