evas - unify partial update in sw engine swapper so it is like gl

This commit is contained in:
Carsten Haitzler 2013-08-27 17:21:10 +09:00
parent 4aaf857fc8
commit 1f82fbe14d
2 changed files with 5 additions and 16 deletions

View File

@ -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:

View File

@ -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;