cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f4afd5f1bd27323ac579dc41da8a12293f798a67

commit f4afd5f1bd27323ac579dc41da8a12293f798a67
Author: Cedric BAIL <[email protected]>
Date:   Fri Aug 25 10:49:06 2017 -0700

    evas: reduce duplication of merge_mode getenv logic.
---
 src/modules/evas/engines/eglfs/evas_engine.c       | 12 +----------
 src/modules/evas/engines/gl_drm/evas_engine.c      | 24 +---------------------
 src/modules/evas/engines/gl_x11/evas_engine.c      | 17 +--------------
 .../Evas_Engine_Software_Generic.h                 | 23 ++++++++++++++++-----
 .../evas/engines/software_x11/evas_engine.c        | 17 +--------------
 src/modules/evas/engines/wayland_egl/evas_engine.c | 23 +--------------------
 src/modules/evas/engines/wayland_shm/evas_engine.c | 15 +-------------
 7 files changed, 24 insertions(+), 107 deletions(-)

diff --git a/src/modules/evas/engines/eglfs/evas_engine.c 
b/src/modules/evas/engines/eglfs/evas_engine.c
index b951bab732..dfbaed886b 100644
--- a/src/modules/evas/engines/eglfs/evas_engine.c
+++ b/src/modules/evas/engines/eglfs/evas_engine.c
@@ -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));
 
diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index 2072284550..28b21d2459 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -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)
      {
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c 
b/src/modules/evas/engines/gl_x11/evas_engine.c
index b64733b651..924bb5a945 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -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)
      {
diff --git 
a/src/modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h 
b/src/modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h
index 5db2a94017..bf859dc34f 100644
--- a/src/modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h
+++ b/src/modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h
@@ -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;
 }
 
diff --git a/src/modules/evas/engines/software_x11/evas_engine.c 
b/src/modules/evas/engines/software_x11/evas_engine.c
index c2b2ec92a8..c1cab73ec3 100644
--- a/src/modules/evas/engines/software_x11/evas_engine.c
+++ b/src/modules/evas/engines/software_x11/evas_engine.c
@@ -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;
 
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c 
b/src/modules/evas/engines/wayland_egl/evas_engine.c
index 28c62030b3..f615acb60b 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -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)
      {
diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c 
b/src/modules/evas/engines/wayland_shm/evas_engine.c
index e9ca14abca..c82eb6af05 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -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;
 

-- 


Reply via email to