forked from enlightenment/efl
evas: do not loose tile size when resizing output.
This commit is contained in:
parent
8ffc0f2b9e
commit
cac667e402
|
@ -71,6 +71,10 @@ struct _Render_Output_Software_Generic
|
||||||
|
|
||||||
unsigned int w, h;
|
unsigned int w, h;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
unsigned int w, h;
|
||||||
|
} tile;
|
||||||
|
|
||||||
Render_Engine_Swap_Mode swap_mode;
|
Render_Engine_Swap_Mode swap_mode;
|
||||||
Render_Engine_Merge_Mode merge_mode;
|
Render_Engine_Merge_Mode merge_mode;
|
||||||
|
|
||||||
|
@ -125,11 +129,13 @@ evas_render_engine_software_generic_init(Render_Output_Software_Generic *re,
|
||||||
re->lost_back = 0;
|
re->lost_back = 0;
|
||||||
re->tile_strict = 0;
|
re->tile_strict = 0;
|
||||||
|
|
||||||
|
re->tile.w = TILESIZE;
|
||||||
|
re->tile.h = TILESIZE;
|
||||||
re->tb = evas_common_tilebuf_new(w, h);
|
re->tb = evas_common_tilebuf_new(w, h);
|
||||||
if (!re->tb) return EINA_FALSE;
|
if (!re->tb) return EINA_FALSE;
|
||||||
|
|
||||||
/* in preliminary tests 16x16 gave highest framerates */
|
/* in preliminary tests 16x16 gave highest framerates */
|
||||||
evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
|
evas_common_tilebuf_set_tile_size(re->tb, re->tile.w, re->tile.h);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -175,7 +181,7 @@ evas_render_engine_software_generic_update(Render_Output_Software_Generic *re,
|
||||||
evas_common_tilebuf_free(re->tb);
|
evas_common_tilebuf_free(re->tb);
|
||||||
re->tb = evas_common_tilebuf_new(w, h);
|
re->tb = evas_common_tilebuf_new(w, h);
|
||||||
if (!re->tb) return EINA_FALSE;
|
if (!re->tb) return EINA_FALSE;
|
||||||
evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
|
evas_common_tilebuf_set_tile_size(re->tb, re->tile.w, re->tile.h);
|
||||||
evas_render_engine_software_generic_tile_strict_set(re, re->tile_strict);
|
evas_render_engine_software_generic_tile_strict_set(re, re->tile_strict);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3922,6 +3922,8 @@ eng_output_tile_size_set(void *engine EINA_UNUSED, void *data, int w, int h)
|
||||||
Render_Output_Software_Generic *re;
|
Render_Output_Software_Generic *re;
|
||||||
|
|
||||||
re = (Render_Output_Software_Generic *)data;
|
re = (Render_Output_Software_Generic *)data;
|
||||||
|
re->tile.w = w;
|
||||||
|
re->tile.h = h;
|
||||||
evas_common_tilebuf_set_tile_size(re->tb, w, h);
|
evas_common_tilebuf_set_tile_size(re->tb, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue