diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-05 16:29:01 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-06 09:12:28 +0900 |
commit | 4b10cf2e40b030c121f5ddefff4983f34e4632be (patch) | |
tree | f311b977840a7b5aa377a857bc83eeaf366a6f79 | |
parent | c0514d948a1cf56d5fc933ee6502eccf08c0a131 (diff) | |
download | efl-4b10cf2e40b030c121f5ddefff4983f34e4632be.tar.gz |
filters: Fix GL support aka. cedric's bork
9 files changed, 32 insertions, 39 deletions
diff --git a/src/modules/evas/engines/gl_generic/evas_ector_gl_buffer.c b/src/modules/evas/engines/gl_generic/evas_ector_gl_buffer.c index 2bd9cb33dc..93f58b6113 100644 --- a/src/modules/evas/engines/gl_generic/evas_ector_gl_buffer.c +++ b/src/modules/evas/engines/gl_generic/evas_ector_gl_buffer.c @@ -37,7 +37,7 @@ struct _Ector_GL_Buffer_Map struct _Evas_Ector_GL_Buffer_Data { - Render_Output_GL_Generic *re; + Render_Engine_GL_Generic *re; Evas_GL_Image *glim; Eina_Bool alpha_only, was_render; Ector_GL_Buffer_Map *maps; @@ -109,7 +109,7 @@ _evas_ector_gl_buffer_gl_buffer_prepare(Eo *obj, Evas_Ector_GL_Buffer_Data *pd, int w, int h, Efl_Gfx_Colorspace cspace, Ector_Buffer_Flag flags EINA_UNUSED) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *re = engine; Evas_Engine_GL_Context *gc; Evas_GL_Image *im; @@ -125,8 +125,7 @@ _evas_ector_gl_buffer_gl_buffer_prepare(Eo *obj, Evas_Ector_GL_Buffer_Data *pd, fail("Unsupported colorspace: %u", cspace); pd->re = re; - gc = re->window_gl_context_get(re->software.ob); - + gc = gl_generic_context_find(re, 1); im = evas_gl_common_image_surface_new(gc, w, h, EINA_TRUE, EINA_FALSE); if (!im) fail("Failed to create GL surface!"); diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 3bb4ddea9e..eab7c9b4ef 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -3084,7 +3084,7 @@ eng_image_surface_noscale_new(void *engine, int w, int h, int alpha) //------------------------------------------------// static GL_Filter_Apply_Func -_gfx_filter_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gfx_filter_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { GL_Filter_Apply_Func funcptr = NULL; @@ -3107,7 +3107,7 @@ _gfx_filter_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) static Evas_Filter_Support eng_gfx_filter_supports(void *engine, Evas_Filter_Command *cmd) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *re = engine; if (!_gfx_filter_func_get(re, cmd)) return pfunc.gfx_filter_supports(&re->software, cmd); @@ -3118,7 +3118,7 @@ eng_gfx_filter_supports(void *engine, Evas_Filter_Command *cmd) static Eina_Bool eng_gfx_filter_process(void *engine, Evas_Filter_Command *cmd) { - Render_Output_GL_Generic *re = engine; + Render_Engine_GL_Generic *re = engine; GL_Filter_Apply_Func funcptr; funcptr = _gfx_filter_func_get(re, cmd); diff --git a/src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h b/src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h index 6c1de332ad..9cb59d1969 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h +++ b/src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h @@ -8,14 +8,14 @@ extern int _evas_engine_GL_log_dom; -typedef Eina_Bool (* GL_Filter_Apply_Func) (Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_blend_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_blur_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -//GL_Filter_Apply_Func gl_filter_bump_func_get(Render_Output_GL_Generic *reEvas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_curve_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_displace_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_fill_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); -GL_Filter_Apply_Func gl_filter_mask_func_get(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd); +typedef Eina_Bool (* GL_Filter_Apply_Func) (Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_blend_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_blur_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +//GL_Filter_Apply_Func gl_filter_bump_func_get(Render_Engine_GL_Generic *reEvas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_curve_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_displace_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_fill_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); +GL_Filter_Apply_Func gl_filter_mask_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd); //GL_Filter_Apply_Func gl_filter_transform_func_get(Evas_Filter_Command *cmd); #undef DBG diff --git a/src/modules/evas/engines/gl_generic/filters/gl_filter_blend.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_blend.c index b2828ba6d8..768b35005d 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_blend.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_blend.c @@ -156,7 +156,7 @@ _mapped_blend(Evas_Engine_GL_Context *gc, } static Eina_Bool -_gl_filter_blend(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_blend(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Engine_GL_Context *gc; Evas_GL_Image *image, *surface; @@ -165,8 +165,7 @@ _gl_filter_blend(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) DEBUG_TIME_BEGIN(); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); image = evas_ector_buffer_drawable_image_get(cmd->input->buffer); EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE); @@ -247,7 +246,7 @@ _gl_filter_blend(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_blend_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_blend_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, 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/gl_generic/filters/gl_filter_blur.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_blur.c index a42a246ec3..82a757a8c9 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_blur.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_blur.c @@ -127,7 +127,7 @@ _output_scale_get(Evas_Filter_Context *ctx, Evas_Filter_Command *cmd, } static Eina_Bool -_gl_filter_blur(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_blur(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Engine_GL_Context *gc; Evas_GL_Image *image, *surface; @@ -147,8 +147,7 @@ _gl_filter_blur(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) d_h = cmd->output->h; EINA_SAFETY_ON_FALSE_RETURN_VAL(s_w && s_h && d_w && d_h, EINA_FALSE); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); image = evas_ector_buffer_drawable_image_get(cmd->input->buffer); EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE); @@ -267,7 +266,7 @@ _gl_filter_blur(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_blur_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_blur_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, 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/gl_generic/filters/gl_filter_curve.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_curve.c index 5c7e66d20b..8042da174a 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_curve.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_curve.c @@ -1,7 +1,7 @@ #include "gl_engine_filter.h" static Eina_Bool -_gl_filter_curve(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_curve(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Engine_GL_Context *gc; Evas_GL_Image *image, *surface; @@ -26,8 +26,7 @@ _gl_filter_curve(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) DBG("curve %d @%p -> %d @%p", cmd->input->id, cmd->input->buffer, cmd->output->id, cmd->output->buffer); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); evas_gl_common_context_target_surface_set(gc, surface); dc_save = gc->dc; @@ -56,7 +55,7 @@ _gl_filter_curve(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_curve_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_curve_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) { EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->input, NULL); diff --git a/src/modules/evas/engines/gl_generic/filters/gl_filter_displace.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_displace.c index 89f060de8e..cf26060a30 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_displace.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_displace.c @@ -1,7 +1,7 @@ #include "gl_engine_filter.h" static Eina_Bool -_gl_filter_displace(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_displace(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Engine_GL_Context *gc; Evas_GL_Image *image, *surface, *orig_map, *use_map; @@ -30,8 +30,7 @@ _gl_filter_displace(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) DBG("displace %d @%p map %d %p -> %d @%p", cmd->input->id, cmd->input->buffer, cmd->mask->id, cmd->mask->buffer, cmd->output->id, cmd->output->buffer); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); evas_gl_common_context_target_surface_set(gc, surface); dc_save = gc->dc; @@ -75,7 +74,7 @@ _gl_filter_displace(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_displace_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_displace_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) { EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->input, NULL); diff --git a/src/modules/evas/engines/gl_generic/filters/gl_filter_fill.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_fill.c index 0496eb5873..d346656b65 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_fill.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_fill.c @@ -1,7 +1,7 @@ #include "gl_engine_filter.h" static Eina_Bool -_gl_filter_fill(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_fill(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Filter_Buffer *fb = cmd->output; Evas_Engine_GL_Context *gc; @@ -39,8 +39,7 @@ _gl_filter_fill(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) cmd->draw.R, cmd->draw.G, cmd->draw.B, cmd->draw.A, x, y, w, h, fb->id, fb->buffer); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); evas_gl_common_context_target_surface_set(gc, surface); dc_save = gc->dc; @@ -63,7 +62,7 @@ _gl_filter_fill(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_fill_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_fill_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, 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/gl_generic/filters/gl_filter_mask.c b/src/modules/evas/engines/gl_generic/filters/gl_filter_mask.c index 6c146bf213..39e0bc7696 100644 --- a/src/modules/evas/engines/gl_generic/filters/gl_filter_mask.c +++ b/src/modules/evas/engines/gl_generic/filters/gl_filter_mask.c @@ -1,7 +1,7 @@ #include "gl_engine_filter.h" static Eina_Bool -_gl_filter_mask(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) +_gl_filter_mask(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) { Evas_Engine_GL_Context *gc; Evas_GL_Image *image, *surface, *orig_mask, *use_mask = NULL; @@ -25,8 +25,7 @@ _gl_filter_mask(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) DBG("mask %d @%p + %d %p -> %d @%p", cmd->input->id, cmd->input->buffer, cmd->mask->id, cmd->mask->buffer, cmd->output->id, cmd->output->buffer); - re->window_use(re->software.ob); - gc = re->window_gl_context_get(re->software.ob); + gc = gl_generic_context_find(re, 1); evas_gl_common_context_target_surface_set(gc, surface); dc_save = gc->dc; @@ -68,7 +67,7 @@ _gl_filter_mask(Render_Output_GL_Generic *re, Evas_Filter_Command *cmd) } GL_Filter_Apply_Func -gl_filter_mask_func_get(Render_Output_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) +gl_filter_mask_func_get(Render_Engine_GL_Generic *re EINA_UNUSED, Evas_Filter_Command *cmd) { EINA_SAFETY_ON_NULL_RETURN_VAL(cmd, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->input, NULL); |