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