forked from enlightenment/efl
evas - unify partial update in sw engine swapper so it is like gl
This commit is contained in:
parent
4aaf857fc8
commit
1f82fbe14d
|
@ -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:
|
||||
|
|
|
@ -824,20 +824,10 @@ 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("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;
|
||||
else if (flags->data.idx_reuse == 1) return MODE_COPY;
|
||||
|
|
Loading…
Reference in New Issue