jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c9eec7400275405520d242747e3bf80801eb8b04
commit c9eec7400275405520d242747e3bf80801eb8b04 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Tue Jan 17 20:48:31 2017 +0900 evas filters: Move fill to software generic (4/8) This also moves the header evas_engine_filter.h to its subdir. --- src/Makefile_Evas.am | 4 ++-- src/lib/evas/filters/evas_filter.c | 9 +++------ src/lib/evas/filters/evas_filter_private.h | 1 - src/modules/evas/engines/software_generic/evas_engine.c | 3 ++- .../engines/software_generic/{ => filters}/evas_engine_filter.h | 1 + .../evas/engines/software_generic/filters/evas_filter_blend.c | 2 +- .../evas/engines/software_generic/filters/evas_filter_curve.c | 2 +- .../evas/engines/software_generic}/filters/evas_filter_fill.c | 5 ++--- .../evas/engines/software_generic/filters/evas_filter_mask.c | 2 +- 9 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index a2237d5..d9cbaef 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -595,7 +595,6 @@ lib/evas/filters/evas_filter.c \ lib/evas/filters/evas_filter_blur.c \ lib/evas/filters/evas_filter_bump.c \ lib/evas/filters/evas_filter_displace.c \ -lib/evas/filters/evas_filter_fill.c \ lib/evas/filters/evas_filter_parser.c \ lib/evas/filters/evas_filter_transform.c \ lib/evas/filters/evas_filter_utils.c \ @@ -614,9 +613,10 @@ lib/evas/filters/blur/blur_box_rgba_sse3.c \ lib/evas/filters/blur/blur_box_rgba_neon.c GFX_FILTER_SW_FILES = \ -modules/evas/engines/software_generic/evas_engine_filter.h \ +modules/evas/engines/software_generic/filters/evas_engine_filter.h \ modules/evas/engines/software_generic/filters/evas_filter_blend.c \ modules/evas/engines/software_generic/filters/evas_filter_curve.c \ +modules/evas/engines/software_generic/filters/evas_filter_fill.c \ modules/evas/engines/software_generic/filters/evas_filter_mask.c \ $(NULL) diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index 3f2f0d5..a5ffa59 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -54,6 +54,8 @@ evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async, void *user_data Evas_Filter_Context *ctx; EINA_SAFETY_ON_NULL_RETURN_VAL(evas, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(evas->engine.func->gfx_filter_supports, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(evas->engine.func->gfx_filter_process, NULL); ctx = calloc(1, sizeof(Evas_Filter_Context)); if (!ctx) return NULL; @@ -1527,9 +1529,7 @@ _filter_command_run(Evas_Filter_Command *cmd) return EINA_FALSE; } - if (cmd->ENFN->gfx_filter_supports) - support = cmd->ENFN->gfx_filter_supports(cmd->ENDT, cmd); - + support = cmd->ENFN->gfx_filter_supports(cmd->ENDT, cmd); if (support != EVAS_FILTER_SUPPORT_NONE) { func = &_engine_gfx_filter_func; @@ -1544,9 +1544,6 @@ _filter_command_run(Evas_Filter_Command *cmd) case EVAS_FILTER_MODE_DISPLACE: func = evas_filter_displace_cpu_func_get(cmd); break; - case EVAS_FILTER_MODE_FILL: - func = evas_filter_fill_cpu_func_get(cmd); - break; case EVAS_FILTER_MODE_BUMP: func = evas_filter_bump_map_cpu_func_get(cmd); break; diff --git a/src/lib/evas/filters/evas_filter_private.h b/src/lib/evas/filters/evas_filter_private.h index f95dd61..c4f3d4b 100644 --- a/src/lib/evas/filters/evas_filter_private.h +++ b/src/lib/evas/filters/evas_filter_private.h @@ -264,7 +264,6 @@ void evas_filter_context_source_set(Evas_Filter_Context *ctx Evas_Filter_Apply_Func evas_filter_blur_cpu_func_get(Evas_Filter_Command *cmd); Evas_Filter_Apply_Func evas_filter_bump_map_cpu_func_get(Evas_Filter_Command *cmd); Evas_Filter_Apply_Func evas_filter_displace_cpu_func_get(Evas_Filter_Command *cmd); -Evas_Filter_Apply_Func evas_filter_fill_cpu_func_get(Evas_Filter_Command *cmd); Evas_Filter_Apply_Func evas_filter_transform_cpu_func_get(Evas_Filter_Command *cmd); /* Utility functions */ diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 7dd2c2e..d71d7e7 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -29,7 +29,7 @@ #include "Evas_Engine_Software_Generic.h" #include "evas_native_common.h" -#include "evas_engine_filter.h" +#include "filters/evas_engine_filter.h" #ifdef EVAS_GL //----------------------------------// @@ -4629,6 +4629,7 @@ _gfx_filter_func_get(Evas_Filter_Command *cmd) { case EVAS_FILTER_MODE_BLEND: func = eng_filter_blend_func_get(cmd); break; case EVAS_FILTER_MODE_CURVE: func = eng_filter_curve_func_get(cmd); break; + case EVAS_FILTER_MODE_FILL: func = eng_filter_fill_func_get(cmd); break; case EVAS_FILTER_MODE_MASK: func = eng_filter_mask_func_get(cmd); break; default: return NULL; } diff --git a/src/modules/evas/engines/software_generic/evas_engine_filter.h b/src/modules/evas/engines/software_generic/filters/evas_engine_filter.h similarity index 83% rename from src/modules/evas/engines/software_generic/evas_engine_filter.h rename to src/modules/evas/engines/software_generic/filters/evas_engine_filter.h index c6c657b..fd282bd 100644 --- a/src/modules/evas/engines/software_generic/evas_engine_filter.h +++ b/src/modules/evas/engines/software_generic/filters/evas_engine_filter.h @@ -6,6 +6,7 @@ Evas_Filter_Apply_Func eng_filter_blend_func_get(Evas_Filter_Command *cmd); Evas_Filter_Apply_Func eng_filter_curve_func_get(Evas_Filter_Command *cmd); +Evas_Filter_Apply_Func eng_filter_fill_func_get(Evas_Filter_Command *cmd); Evas_Filter_Apply_Func eng_filter_mask_func_get(Evas_Filter_Command *cmd); #endif // EVAS_ENGINE_FILTER_H diff --git a/src/modules/evas/engines/software_generic/filters/evas_filter_blend.c b/src/modules/evas/engines/software_generic/filters/evas_filter_blend.c index e6ab9bf..947723e 100644 --- a/src/modules/evas/engines/software_generic/filters/evas_filter_blend.c +++ b/src/modules/evas/engines/software_generic/filters/evas_filter_blend.c @@ -1,4 +1,4 @@ -#include "../evas_engine_filter.h" +#include "evas_engine_filter.h" // FIXME: This should all be based on ector renderer diff --git a/src/modules/evas/engines/software_generic/filters/evas_filter_curve.c b/src/modules/evas/engines/software_generic/filters/evas_filter_curve.c index 6202b80..c19d1d6 100644 --- a/src/modules/evas/engines/software_generic/filters/evas_filter_curve.c +++ b/src/modules/evas/engines/software_generic/filters/evas_filter_curve.c @@ -1,4 +1,4 @@ -#include "../evas_engine_filter.h" +#include "evas_engine_filter.h" static Eina_Bool _filter_curve_cpu_rgba(Evas_Filter_Command *cmd) diff --git a/src/lib/evas/filters/evas_filter_fill.c b/src/modules/evas/engines/software_generic/filters/evas_filter_fill.c similarity index 93% rename from src/lib/evas/filters/evas_filter_fill.c rename to src/modules/evas/engines/software_generic/filters/evas_filter_fill.c index 0958dcf..dcd1f64 100644 --- a/src/lib/evas/filters/evas_filter_fill.c +++ b/src/modules/evas/engines/software_generic/filters/evas_filter_fill.c @@ -1,5 +1,4 @@ -#include "evas_filter_private.h" -#include "draw.h" +#include "evas_engine_filter.h" static Eina_Bool _fill_cpu(Evas_Filter_Command *cmd) @@ -58,7 +57,7 @@ _fill_cpu(Evas_Filter_Command *cmd) } Evas_Filter_Apply_Func -evas_filter_fill_cpu_func_get(Evas_Filter_Command *cmd) +eng_filter_fill_func_get(Evas_Filter_Command *cmd) { EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->output, NULL); diff --git a/src/modules/evas/engines/software_generic/filters/evas_filter_mask.c b/src/modules/evas/engines/software_generic/filters/evas_filter_mask.c index 46fdc2c..6b1d0be 100644 --- a/src/modules/evas/engines/software_generic/filters/evas_filter_mask.c +++ b/src/modules/evas/engines/software_generic/filters/evas_filter_mask.c @@ -1,6 +1,6 @@ /* Implementation of some masking functions for the software engine */ -#include "../evas_engine_filter.h" +#include "evas_engine_filter.h" // Naming convention: _func_engine_incolor_maskcolor_outcolor() static Eina_Bool _mask_cpu_alpha_alpha_alpha(Evas_Filter_Command *cmd); --