forked from enlightenment/efl
evas: reduce duplication of merge_mode getenv logic.
This commit is contained in:
parent
d179a5c2a9
commit
f4afd5f1bd
|
@ -684,7 +684,6 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
Evas_Engine_Info_Eglfs *info = in;
|
||||
Render_Engine *re = NULL;
|
||||
Outbuf *ob = NULL;
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_BOUNDING;
|
||||
Render_Engine_Swap_Mode swap_mode;
|
||||
|
||||
swap_mode = evas_render_engine_gl_swap_mode_get(info->info.swap_mode);
|
||||
|
@ -725,16 +724,7 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
|
||||
gl_wins++;
|
||||
|
||||
s = getenv("EVAS_GL_PARTIAL_MERGE");
|
||||
if (s)
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) || (!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) || (!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
}
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software, merge_mode);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software);
|
||||
|
||||
evas_outbuf_use(eng_get_ob(re));
|
||||
|
||||
|
|
|
@ -899,26 +899,6 @@ eng_output_info_setup(void *info)
|
|||
einfo->render_mode = EVAS_RENDER_MODE_BLOCKING;
|
||||
}
|
||||
|
||||
static Render_Engine_Merge_Mode
|
||||
_eng_merge_mode_get(void)
|
||||
{
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_SMART;
|
||||
const char *s;
|
||||
|
||||
s = getenv("EVAS_GL_PARTIAL_MERGE");
|
||||
if (s)
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) || (!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) || (!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) || (!strcmp(s, "s")))
|
||||
merge_mode = MERGE_SMART;
|
||||
}
|
||||
|
||||
return merge_mode;
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
|
||||
{
|
||||
|
@ -926,10 +906,8 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
Render_Engine *re = NULL;
|
||||
Outbuf *ob;
|
||||
Render_Engine_Swap_Mode swap_mode;
|
||||
Render_Engine_Merge_Mode merge_mode;
|
||||
|
||||
swap_mode = evas_render_engine_gl_swap_mode_get(info->info.swap_mode);
|
||||
merge_mode = _eng_merge_mode_get();
|
||||
|
||||
if (!initted)
|
||||
{
|
||||
|
@ -984,7 +962,7 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
|
||||
gl_wins++;
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software, merge_mode);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software);
|
||||
|
||||
if (!initted)
|
||||
{
|
||||
|
|
|
@ -1581,9 +1581,7 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
Evas_Engine_Info_GL_X11 *info = in;
|
||||
Render_Engine *re = NULL;
|
||||
Outbuf *ob = NULL;
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_SMART;
|
||||
Render_Engine_Swap_Mode swap_mode;
|
||||
const char *s;
|
||||
|
||||
swap_mode = evas_render_engine_gl_swap_mode_get(info->swap_mode);
|
||||
|
||||
|
@ -1669,20 +1667,7 @@ eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned in
|
|||
|
||||
gl_wins++;
|
||||
|
||||
if ((s = getenv("EVAS_GL_PARTIAL_MERGE")))
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) ||
|
||||
(!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) ||
|
||||
(!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) ||
|
||||
(!strcmp(s, "s")))
|
||||
merge_mode = MERGE_SMART;
|
||||
}
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software, merge_mode);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software);
|
||||
|
||||
if (!initted)
|
||||
{
|
||||
|
|
|
@ -27,9 +27,9 @@ typedef enum _Outbuf_Depth
|
|||
|
||||
typedef enum
|
||||
{
|
||||
MERGE_BOUNDING,
|
||||
MERGE_FULL,
|
||||
MERGE_SMART
|
||||
MERGE_BOUNDING = 1,
|
||||
MERGE_FULL = 2,
|
||||
MERGE_SMART = 4
|
||||
} Render_Engine_Merge_Mode;
|
||||
|
||||
typedef struct _Render_Output_Software_Generic Render_Output_Software_Generic;
|
||||
|
@ -150,9 +150,22 @@ evas_render_engine_software_generic_clean(Render_Output_Software_Generic *re)
|
|||
}
|
||||
|
||||
static inline void
|
||||
evas_render_engine_software_generic_merge_mode_set(Render_Output_Software_Generic *re,
|
||||
Render_Engine_Merge_Mode merge_mode)
|
||||
evas_render_engine_software_generic_merge_mode_set(Render_Output_Software_Generic *re)
|
||||
{
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_SMART;
|
||||
const char *s;
|
||||
|
||||
s = getenv("EVAS_GL_PARTIAL_MERGE");
|
||||
if (s)
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) || (!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) || (!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) || (!strcmp(s, "s")))
|
||||
merge_mode = MERGE_SMART;
|
||||
}
|
||||
|
||||
re->merge_mode = merge_mode;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,8 +71,6 @@ _output_xlib_setup(int w, int h, int rot, Display *disp, Drawable draw,
|
|||
{
|
||||
Render_Engine *re;
|
||||
Outbuf *ob;
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_SMART;
|
||||
const char *s;
|
||||
|
||||
if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL;
|
||||
|
||||
|
@ -113,20 +111,7 @@ _output_xlib_setup(int w, int h, int rot, Display *disp, Drawable draw,
|
|||
w, h))
|
||||
goto on_error;
|
||||
|
||||
if ((s = getenv("EVAS_SOFTWARE_PARTIAL_MERGE")))
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) ||
|
||||
(!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) ||
|
||||
(!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) ||
|
||||
(!strcmp(s, "s")))
|
||||
merge_mode = MERGE_SMART;
|
||||
}
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic, merge_mode);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic);
|
||||
|
||||
return re;
|
||||
|
||||
|
|
|
@ -545,25 +545,6 @@ _eng_swap_mode_get(void)
|
|||
return swap_mode;
|
||||
}
|
||||
|
||||
static Render_Engine_Merge_Mode
|
||||
_eng_merge_mode_get(void)
|
||||
{
|
||||
Render_Engine_Merge_Mode merge = MERGE_SMART;
|
||||
const char *s;
|
||||
|
||||
if ((s = getenv("EVAS_GL_PARTIAL_MERGE")))
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) || (!strcmp(s, "b")))
|
||||
merge = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) || (!strcmp(s, "f")))
|
||||
merge = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) || (!strcmp(s, "s")))
|
||||
merge = MERGE_SMART;
|
||||
}
|
||||
|
||||
return merge;
|
||||
}
|
||||
|
||||
static void *
|
||||
eng_output_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned int h)
|
||||
{
|
||||
|
@ -571,10 +552,8 @@ eng_output_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned
|
|||
Render_Engine *re;
|
||||
Outbuf *ob;
|
||||
Render_Engine_Swap_Mode swap_mode;
|
||||
Render_Engine_Merge_Mode merge;
|
||||
|
||||
swap_mode = _eng_swap_mode_get();
|
||||
merge = _eng_merge_mode_get();
|
||||
|
||||
/* FIXME: Remove this line as soon as eglGetDisplay() autodetection
|
||||
* gets fixed. Currently it is incorrectly detecting wl_display and
|
||||
|
@ -624,7 +603,7 @@ eng_output_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned
|
|||
|
||||
gl_wins++;
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software, merge);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic.software);
|
||||
|
||||
if (!initted)
|
||||
{
|
||||
|
|
|
@ -33,8 +33,6 @@ _render_engine_swapbuf_setup(int w, int h, Evas_Engine_Info_Wayland *einfo)
|
|||
{
|
||||
Render_Engine *re;
|
||||
Outbuf *ob;
|
||||
Render_Engine_Merge_Mode merge_mode = MERGE_SMART;
|
||||
const char *s;
|
||||
|
||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||
|
||||
|
@ -60,18 +58,7 @@ _render_engine_swapbuf_setup(int w, int h, Evas_Engine_Info_Wayland *einfo)
|
|||
w, h))
|
||||
goto err;
|
||||
|
||||
s = getenv("EVAS_WAYLAND_PARTIAL_MERGE");
|
||||
if (s)
|
||||
{
|
||||
if ((!strcmp(s, "bounding")) || (!strcmp(s, "b")))
|
||||
merge_mode = MERGE_BOUNDING;
|
||||
else if ((!strcmp(s, "full")) || (!strcmp(s, "f")))
|
||||
merge_mode = MERGE_FULL;
|
||||
else if ((!strcmp(s, "smart")) || (!strcmp(s, "s")))
|
||||
merge_mode = MERGE_SMART;
|
||||
}
|
||||
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic, merge_mode);
|
||||
evas_render_engine_software_generic_merge_mode_set(&re->generic);
|
||||
|
||||
re->generic.ob->info = einfo;
|
||||
|
||||
|
|
Loading…
Reference in New Issue