summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-09-11 13:12:08 +0900
committerHermet Park <hermetpark@gmail.com>2019-09-11 13:14:56 +0900
commitdc0056ca936fc014aaf7949ef9fa3cf41c2d6964 (patch)
tree0c94ad95e2a263b3e58653882aa9b1d051dae6a0 /src/modules
parent3d50083f41c2e5dc087ff98ea3af104c70002546 (diff)
ector: removed cairo backend.
For reducing maintainability burden, We drop supporting cairo backend. The default backend is to software implementation from now. It's well maintained so far and works good.x
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c47
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c16
2 files changed, 22 insertions, 41 deletions
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index 2840f51a28..4b0a6c735b 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -2,7 +2,6 @@
2#include "evas_gl_core_private.h" 2#include "evas_gl_core_private.h"
3 3
4#include "software/Ector_Software.h" 4#include "software/Ector_Software.h"
5#include "cairo/Ector_Cairo.h"
6#include "gl/Ector_GL.h" 5#include "gl/Ector_GL.h"
7#include "evas_ector_gl.h" 6#include "evas_ector_gl.h"
8#include "filters/gl_engine_filter.h" 7#include "filters/gl_engine_filter.h"
@@ -2534,7 +2533,6 @@ eng_texture_image_get(void *engine EINA_UNUSED, void *texture)
2534 return e3d_texture_get((E3D_Texture *)texture); 2533 return e3d_texture_get((E3D_Texture *)texture);
2535} 2534}
2536 2535
2537static Eina_Bool use_cairo = EINA_FALSE;
2538static Eina_Bool use_gl = EINA_FALSE; 2536static Eina_Bool use_gl = EINA_FALSE;
2539 2537
2540static Ector_Surface * 2538static Ector_Surface *
@@ -2544,20 +2542,14 @@ eng_ector_create(void *engine EINA_UNUSED)
2544 const char *ector_backend; 2542 const char *ector_backend;
2545 ector_backend = getenv("ECTOR_BACKEND"); 2543 ector_backend = getenv("ECTOR_BACKEND");
2546 efl_domain_current_push(EFL_ID_DOMAIN_SHARED); 2544 efl_domain_current_push(EFL_ID_DOMAIN_SHARED);
2547 if (ector_backend && !strcasecmp(ector_backend, "default")) 2545 if (ector_backend && !strcasecmp(ector_backend, "gl"))
2548 {
2549 ector = efl_add_ref(ECTOR_SOFTWARE_SURFACE_CLASS, NULL);
2550 }
2551 else if (ector_backend && !strcasecmp(ector_backend, "experimental"))
2552 { 2546 {
2553 ector = efl_add_ref(ECTOR_GL_SURFACE_CLASS, NULL); 2547 ector = efl_add_ref(ECTOR_GL_SURFACE_CLASS, NULL);
2554 use_gl = EINA_TRUE; 2548 use_gl = EINA_TRUE;
2555 } 2549 }
2556 else 2550 else
2557 { 2551 ector = efl_add_ref(ECTOR_SOFTWARE_SURFACE_CLASS, NULL);
2558 ector = efl_add_ref(ECTOR_CAIRO_SOFTWARE_SURFACE_CLASS, NULL); 2552
2559 use_cairo = EINA_TRUE;
2560 }
2561 efl_domain_current_pop(); 2553 efl_domain_current_pop();
2562 return ector; 2554 return ector;
2563} 2555}
@@ -2639,7 +2631,11 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *surface,
2639 void *context EINA_UNUSED, Ector_Renderer *renderer, 2631 void *context EINA_UNUSED, Ector_Renderer *renderer,
2640 Eina_Array *clips EINA_UNUSED, Eina_Bool do_async EINA_UNUSED) 2632 Eina_Array *clips EINA_UNUSED, Eina_Bool do_async EINA_UNUSED)
2641{ 2633{
2642 if (use_cairo || !use_gl) 2634 if (use_gl)
2635 {
2636 //FIXME no implementation yet
2637 }
2638 else
2643 { 2639 {
2644 int w, h; 2640 int w, h;
2645 Eina_Rectangle *r; 2641 Eina_Rectangle *r;
@@ -2654,10 +2650,7 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *surface,
2654 while ((r = eina_array_pop(c))) 2650 while ((r = eina_array_pop(c)))
2655 eina_rectangle_free(r); 2651 eina_rectangle_free(r);
2656 eina_array_free(c); 2652 eina_array_free(c);
2657 } 2653
2658 else
2659 {
2660 //FIXME no implementation yet
2661 } 2654 }
2662} 2655}
2663 2656
@@ -2724,7 +2717,11 @@ eng_ector_begin(void *engine, void *surface,
2724 void *context EINA_UNUSED, Ector_Surface *ector, 2717 void *context EINA_UNUSED, Ector_Surface *ector,
2725 int x, int y, Eina_Bool clear, Eina_Bool do_async EINA_UNUSED) 2718 int x, int y, Eina_Bool clear, Eina_Bool do_async EINA_UNUSED)
2726{ 2719{
2727 if (use_cairo|| !use_gl) 2720 if (use_gl)
2721 {
2722 //FIXME: No implementation yet
2723 }
2724 else
2728 { 2725 {
2729 int w, h, stride; 2726 int w, h, stride;
2730 Evas_GL_Image *glim = surface; 2727 Evas_GL_Image *glim = surface;
@@ -2740,10 +2737,7 @@ eng_ector_begin(void *engine, void *surface,
2740 // it just uses the software backend to draw for now 2737 // it just uses the software backend to draw for now
2741 ector_buffer_pixels_set(ector, pixels, w, h, stride, EFL_GFX_COLORSPACE_ARGB8888, EINA_TRUE); 2738 ector_buffer_pixels_set(ector, pixels, w, h, stride, EFL_GFX_COLORSPACE_ARGB8888, EINA_TRUE);
2742 ector_surface_reference_point_set(ector, x, y); 2739 ector_surface_reference_point_set(ector, x, y);
2743 } 2740
2744 else
2745 {
2746 //FIXME: No implementation yet
2747 } 2741 }
2748} 2742}
2749 2743
@@ -2754,7 +2748,11 @@ eng_ector_end(void *engine,
2754 Ector_Surface *ector, 2748 Ector_Surface *ector,
2755 Eina_Bool do_async EINA_UNUSED) 2749 Eina_Bool do_async EINA_UNUSED)
2756{ 2750{
2757 if (use_cairo || !use_gl) 2751 if (use_gl)
2752 {
2753 //FIXME: No implementation yet
2754 }
2755 else
2758 { 2756 {
2759 Evas_GL_Image *glim = surface; 2757 Evas_GL_Image *glim = surface;
2760 DATA32 *pixels; 2758 DATA32 *pixels;
@@ -2766,10 +2764,7 @@ eng_ector_end(void *engine,
2766 eng_image_data_put(engine, glim, pixels); 2764 eng_image_data_put(engine, glim, pixels);
2767 ector_buffer_pixels_set(ector, NULL, 0, 0, 0, EFL_GFX_COLORSPACE_ARGB8888, EINA_TRUE); 2765 ector_buffer_pixels_set(ector, NULL, 0, 0, 0, EFL_GFX_COLORSPACE_ARGB8888, EINA_TRUE);
2768 evas_common_cpu_end_opt(); 2766 evas_common_cpu_end_opt();
2769 } 2767
2770 else if (use_gl)
2771 {
2772 //FIXME: No implementation yet
2773 } 2768 }
2774} 2769}
2775 2770
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 59391c4f6e..c85de3e4d3 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -5,7 +5,6 @@
5#include "region.h" 5#include "region.h"
6 6
7#include <software/Ector_Software.h> 7#include <software/Ector_Software.h>
8#include "cairo/Ector_Cairo.h"
9#include "evas_ector_software.h" 8#include "evas_ector_software.h"
10#include "draw.h" 9#include "draw.h"
11#include "evas_filter_private.h" 10#include "evas_filter_private.h"
@@ -4193,26 +4192,13 @@ eng_output_idle_flush(void *engine EINA_UNUSED, void *data)
4193 4192
4194// Ector functions 4193// Ector functions
4195 4194
4196static Eina_Bool use_cairo;
4197
4198static Ector_Surface * 4195static Ector_Surface *
4199eng_ector_create(void *engine EINA_UNUSED) 4196eng_ector_create(void *engine EINA_UNUSED)
4200{ 4197{
4201 Ector_Surface *ector; 4198 Ector_Surface *ector;
4202 const char *ector_backend;
4203 4199
4204 ector_backend = getenv("ECTOR_BACKEND");
4205 efl_domain_current_push(EFL_ID_DOMAIN_SHARED); 4200 efl_domain_current_push(EFL_ID_DOMAIN_SHARED);
4206 if (ector_backend && !strcasecmp(ector_backend, "default")) 4201 ector = efl_add_ref(ECTOR_SOFTWARE_SURFACE_CLASS, NULL);
4207 {
4208 ector = efl_add_ref(ECTOR_SOFTWARE_SURFACE_CLASS, NULL);
4209 use_cairo = EINA_FALSE;
4210 }
4211 else
4212 {
4213 ector = efl_add_ref(ECTOR_CAIRO_SOFTWARE_SURFACE_CLASS, NULL);
4214 use_cairo = EINA_TRUE;
4215 }
4216 efl_domain_current_pop(); 4202 efl_domain_current_pop();
4217 return ector; 4203 return ector;
4218} 4204}