From 1f82fbe14d2ac5a2437e7905065974033920d139 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 27 Aug 2013 17:21:10 +0900 Subject: [PATCH] evas - unify partial update in sw engine swapper so it is like gl --- .../evas/engines/software_x11/evas_engine.c | 7 +++---- .../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 c149b0898d..d5fbe66104 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 dc2eb452d4..705f077dad 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;