summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-12-10 19:22:01 +0900
committerHermet Park <hermetpark@gmail.com>2019-12-10 19:22:01 +0900
commita1ea861d882da58431e15290f07e545762d589ae (patch)
tree44546c55e7339e2804f8901d3d21d40f2f471858
parent8eef00a0e237c728dba6b0a6111b061398bc4c0f (diff)
Revert "backup filter optimization"
This reverts commit 802d575baf4309cfda0e712f46d4a69a753b2acb.
-rw-r--r--src/lib/evas/canvas/evas_render.c19
-rw-r--r--src/lib/evas/filters/evas_filter.c1
-rw-r--r--src/modules/evas/engines/gl_generic/evas_ector_gl_buffer.c287
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c2
4 files changed, 5 insertions, 304 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 5a627a3..70ed55a 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -3,8 +3,9 @@
3#include <math.h> 3#include <math.h>
4#include <assert.h> 4#include <assert.h>
5 5
6#ifdef EVAS_RENDER_DEBUG_TIMING
6#include <sys/time.h> 7#include <sys/time.h>
7 8#endif
8 9
9// FIXME: Ugly! 10// FIXME: Ugly!
10#define EFL_CANVAS_FILTER_INTERNAL_PROTECTED 11#define EFL_CANVAS_FILTER_INTERNAL_PROTECTED
@@ -3232,14 +3233,6 @@ _evas_planes(Evas_Public_Data *evas)
3232 } 3233 }
3233} 3234}
3234 3235
3235double
3236_ttime_get(void)
3237{
3238 struct timeval timev;
3239 gettimeofday(&timev, NULL);
3240 return (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
3241}
3242
3243static Eina_Bool 3236static Eina_Bool
3244evas_render_updates_internal(Evas *eo_e, 3237evas_render_updates_internal(Evas *eo_e,
3245 unsigned char make_updates, 3238 unsigned char make_updates,
@@ -3290,10 +3283,6 @@ evas_render_updates_internal(Evas *eo_e,
3290 double start_time = _time_get(); 3283 double start_time = _time_get();
3291#endif 3284#endif
3292 3285
3293 double time1, time2;
3294 double taccum = 0.06;
3295 time1 = _ttime_get();
3296
3297 evas_render_pre(eo_e, evas); 3286 evas_render_pre(eo_e, evas);
3298 3287
3299 _evas_planes(e); 3288 _evas_planes(e);
@@ -3805,10 +3794,6 @@ evas_render_updates_internal(Evas *eo_e,
3805 _accumulate_time(start_time, do_async); 3794 _accumulate_time(start_time, do_async);
3806#endif 3795#endif
3807 3796
3808 time2 = _ttime_get();
3809 taccum = (taccum + (time2 - time1)) * 0.5;
3810 ERR("elapsed = %f", taccum);
3811
3812 if (!do_async) _evas_render_cleanup(); 3797 if (!do_async) _evas_render_cleanup();
3813 eina_evlog("-render_end", eo_e, 0.0, NULL); 3798 eina_evlog("-render_end", eo_e, 0.0, NULL);
3814 return rendering; 3799 return rendering;
diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c
index a3ef20a..c9d8005 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -1768,6 +1768,7 @@ evas_filter_font_draw(Evas_Filter_Context *ctx,
1768 Eina_Bool async_unref; 1768 Eina_Bool async_unref;
1769 Evas_Filter_Buffer *fb; 1769 Evas_Filter_Buffer *fb;
1770 void *surface = NULL; 1770 void *surface = NULL;
1771
1771 fb = _filter_buffer_get(ctx, bufid); 1772 fb = _filter_buffer_get(ctx, bufid);
1772 EINA_SAFETY_ON_NULL_RETURN_VAL(fb, EINA_FALSE); 1773 EINA_SAFETY_ON_NULL_RETURN_VAL(fb, EINA_FALSE);
1773 1774
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 2c6c745..f0a0b0c 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
@@ -20,84 +20,6 @@ typedef struct _Evas_Ector_GL_Buffer_Data Evas_Ector_GL_Buffer_Data;
20 20
21static int _map_id = 0; 21static int _map_id = 0;
22 22
23typedef struct _Buffer_Cache
24{
25 char *buffer;
26 int len;
27 Eina_Bool use;
28} Buffer_Cache;
29
30////////////////////////////////////////////////////////////////////////////////////////////////
31Buffer_Cache _buffer_cache[20];
32static int _ector_cnt = 0;
33
34char * _ector_buffer_get(int len)
35{
36 for (int i = 0; i < 10; i++)
37 {
38 if (_buffer_cache[i].use) continue;
39 if (_buffer_cache[i].len == 0)
40 {
41 _buffer_cache[i].use = 1;
42 _buffer_cache[i].buffer = malloc(len);
43 _buffer_cache[i].len = len;
44 printf("malloc = %d\n", len);
45 return _buffer_cache[i].buffer;
46 }
47
48 if (_buffer_cache[i].len >= len)
49 {
50 _buffer_cache[i].use = 1;
51 return _buffer_cache[i].buffer;
52 }
53 else
54 {
55 free(_buffer_cache[i].buffer);
56 _buffer_cache[i].use = 1;
57 _buffer_cache[i].buffer = malloc(len);
58 _buffer_cache[i].len = len;
59 printf("malloc = %d\n", len);
60
61 return _buffer_cache[i].buffer;
62 }
63 printf("What?!\n");
64 }
65
66 return NULL;
67}
68
69void _ector_buffer_return(char *buffer)
70{
71 for (int i = 0; i < 10; i++)
72 {
73 if (_buffer_cache[i].buffer == buffer)
74 {
75 _buffer_cache[i].use = 0;
76 return;
77 }
78 }
79 printf("What?!\n");
80}
81
82static void _ector_buffer_term()
83{
84 for (int i = 0; i < 10; i++)
85 {
86 free(_buffer_cache[i].buffer);
87 _buffer_cache[i].buffer = NULL;
88 _buffer_cache[i].use = 0;
89 _buffer_cache[i].len = 0;
90 }
91}
92
93static void _ector_buffer_init()
94{
95}
96///////////////////////////////////////////////////////////////////////////////////////////////
97
98
99
100
101struct _Ector_GL_Buffer_Map 23struct _Ector_GL_Buffer_Map
102{ 24{
103 EINA_INLIST; 25 EINA_INLIST;
@@ -119,10 +41,6 @@ struct _Evas_Ector_GL_Buffer_Data
119 Evas_GL_Image *glim; 41 Evas_GL_Image *glim;
120 Eina_Bool alpha_only, was_render; 42 Eina_Bool alpha_only, was_render;
121 Ector_GL_Buffer_Map *maps; 43 Ector_GL_Buffer_Map *maps;
122 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used */
123 int w, h;
124 void *image_data;
125 /* END */
126}; 44};
127 45
128void *eng_image_data_put(void *data, void *image, DATA32 *image_data); 46void *eng_image_data_put(void *data, void *image, DATA32 *image_data);
@@ -192,33 +110,20 @@ _evas_ector_gl_buffer_gl_buffer_prepare(Eo *obj, Evas_Ector_GL_Buffer_Data *pd,
192 Ector_Buffer_Flag flags EINA_UNUSED) 110 Ector_Buffer_Flag flags EINA_UNUSED)
193{ 111{
194 Render_Engine_GL_Generic *re = engine; 112 Render_Engine_GL_Generic *re = engine;
195 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
196 Evas_Engine_GL_Context *gc; 113 Evas_Engine_GL_Context *gc;
197 Evas_GL_Image *im; 114 Evas_GL_Image *im;
198 115
199 // this is meant to be called only once 116 // this is meant to be called only once
200 EINA_SAFETY_ON_FALSE_GOTO(!pd->re, on_fail); 117 EINA_SAFETY_ON_FALSE_GOTO(!pd->re, on_fail);
201 EINA_SAFETY_ON_FALSE_GOTO(!efl_finalized_get(obj), on_fail); 118 EINA_SAFETY_ON_FALSE_GOTO(!efl_finalized_get(obj), on_fail);
202 */
203 EINA_SAFETY_ON_FALSE_RETURN(!pd->re);
204 EINA_SAFETY_ON_FALSE_RETURN(!efl_finalized_get(obj));
205 /* END */
206 119
207 if (cspace == EFL_GFX_COLORSPACE_ARGB8888) 120 if (cspace == EFL_GFX_COLORSPACE_ARGB8888)
208 pd->alpha_only = EINA_FALSE; 121 pd->alpha_only = EINA_FALSE;
209 else if (cspace == EFL_GFX_COLORSPACE_GRY8) 122 else if (cspace == EFL_GFX_COLORSPACE_GRY8)
210 pd->alpha_only = EINA_TRUE; 123 pd->alpha_only = EINA_TRUE;
211 else 124 else
212 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
213 fail("Unsupported colorspace: %u", cspace); 125 fail("Unsupported colorspace: %u", cspace);
214 */
215 {
216 ERR("Unsupported colorspace: %u", cspace);
217 return;
218 }
219 /* END */
220 126
221 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
222 pd->re = re; 127 pd->re = re;
223 gc = gl_generic_context_find(re, 1); 128 gc = gl_generic_context_find(re, 1);
224 im = evas_gl_common_image_surface_new(gc, w, h, EINA_TRUE, EINA_FALSE); 129 im = evas_gl_common_image_surface_new(gc, w, h, EINA_TRUE, EINA_FALSE);
@@ -230,13 +135,6 @@ _evas_ector_gl_buffer_gl_buffer_prepare(Eo *obj, Evas_Ector_GL_Buffer_Data *pd,
230on_fail: 135on_fail:
231 evas_gl_common_image_free(pd->glim); 136 evas_gl_common_image_free(pd->glim);
232 pd->glim = NULL; 137 pd->glim = NULL;
233 */
234 pd->image_data = calloc(1, w * h * 4);
235 pd->w = w;
236 pd->h = h;
237 pd->re = re;
238 pd->glim = NULL;
239 /* END */
240} 138}
241 139
242static inline void * 140static inline void *
@@ -245,44 +143,8 @@ _image_get(Evas_Ector_GL_Buffer_Data *pd, Eina_Bool render)
245 if (pd->maps != NULL) 143 if (pd->maps != NULL)
246 fail("Image is currently mapped!"); 144 fail("Image is currently mapped!");
247 145
248 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
249 if (!pd->glim || !pd->glim->tex || !pd->glim->tex->pt) 146 if (!pd->glim || !pd->glim->tex || !pd->glim->tex->pt)
250 fail("Image has no texture!"); 147 fail("Image has no texture!");
251 */
252
253 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used */
254 if (pd->glim == NULL)
255 {
256 Evas_Engine_GL_Context *gc = gl_generic_context_find(pd->re, 1);
257
258 if (render)
259 {
260 Evas_GL_Image *old_glim = NULL, *im = NULL;
261 Eina_Bool tofree = EINA_FALSE;
262 DATA32 *data = NULL;
263 int err;
264
265 pd->glim = evas_gl_common_image_surface_new(gc, pd->w, pd->h, EINA_TRUE, EINA_FALSE);
266 im = eng_image_data_get(ENC, pd->glim, EINA_FALSE, &data, &err, &tofree);
267 old_glim = pd->glim;
268
269 memcpy(data, pd->image_data, pd->w * pd->h * 4);
270 pd->glim = evas_gl_common_image_surface_update(im);
271 if (tofree)
272 evas_gl_common_image_free(old_glim);
273
274 free(pd->image_data);
275 pd->image_data = NULL;
276 }
277 else
278 {
279 gc = gl_generic_context_find(pd->re, 1);
280 pd->glim = evas_gl_common_image_new_from_data(gc, pd->w, pd->h, pd->image_data, EINA_TRUE, EFL_GFX_COLORSPACE_ARGB8888);
281 evas_gl_common_image_dirty(pd->glim, 0, 0, 0, 0);
282 evas_gl_common_image_update(gc, pd->glim);
283 }
284 }
285 /* END */
286 148
287 evas_gl_common_image_ref(pd->glim); 149 evas_gl_common_image_ref(pd->glim);
288 if (render) 150 if (render)
@@ -332,13 +194,8 @@ _evas_ector_gl_buffer_ector_buffer_size_get(const Eo *obj EINA_UNUSED,
332 Evas_Ector_GL_Buffer_Data *pd, 194 Evas_Ector_GL_Buffer_Data *pd,
333 int *w, int *h) 195 int *w, int *h)
334{ 196{
335 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
336 if (w) *w = pd->glim->w; 197 if (w) *w = pd->glim->w;
337 if (h) *h = pd->glim->h; 198 if (h) *h = pd->glim->h;
338 */
339 if (w) *w = pd->w;
340 if (h) *h = pd->h;
341 /* END */
342} 199}
343 200
344EOLIAN static Efl_Gfx_Colorspace 201EOLIAN static Efl_Gfx_Colorspace
@@ -375,18 +232,12 @@ _evas_ector_gl_buffer_ector_buffer_map(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buffer
375 uint32_t *data; 232 uint32_t *data;
376 int pxs; 233 int pxs;
377 234
378 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
379 W = pd->glim->w; 235 W = pd->glim->w;
380 H = pd->glim->h; 236 H = pd->glim->h;
381 */
382 W = pd->w;
383 H = pd->h;
384 /* END */
385 if (!w) w = W - x; 237 if (!w) w = W - x;
386 if (!h) h = H - y; 238 if (!h) h = H - y;
387 if ((x + w > W) || (y + h > H)) return NULL; 239 if ((x + w > W) || (y + h > H)) return NULL;
388 240
389 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
390 if (write && _evas_gl_image_is_fbo(pd->glim)) 241 if (write && _evas_gl_image_is_fbo(pd->glim))
391 { 242 {
392 // Can not open FBO data to write! 243 // Can not open FBO data to write!
@@ -398,27 +249,6 @@ _evas_ector_gl_buffer_ector_buffer_map(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buffer
398 im = eng_image_data_get(ENC, pd->glim, write, &data, &err, &tofree); 249 im = eng_image_data_get(ENC, pd->glim, write, &data, &err, &tofree);
399 if (!im) return NULL; 250 if (!im) return NULL;
400 } 251 }
401 */
402 if (pd->glim)
403 {
404 if (write && _evas_gl_image_is_fbo(pd->glim))
405 {
406 // Can not open FBO data to write!
407 im = eng_image_data_get(ENC, pd->glim, EINA_FALSE, &data, &err, &tofree);
408 if (!im) return NULL;
409 }
410 else
411 {
412 im = eng_image_data_get(ENC, pd->glim, write, &data, &err, &tofree);
413 if (!im) return NULL;
414 }
415 }
416 else
417 {
418 data = pd->image_data;
419 tofree = EINA_FALSE;
420 }
421 /* END */
422 252
423 map = calloc(1, sizeof(*map)); 253 map = calloc(1, sizeof(*map));
424 map->mode = mode; 254 map->mode = mode;
@@ -433,8 +263,8 @@ _evas_ector_gl_buffer_ector_buffer_map(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buffer
433 len = W * H; 263 len = W * H;
434 if (cspace == EFL_GFX_COLORSPACE_GRY8) 264 if (cspace == EFL_GFX_COLORSPACE_GRY8)
435 { 265 {
436// uint8_t *data8 = _ector_buffer_get(len);
437 uint8_t *data8 = malloc(len); 266 uint8_t *data8 = malloc(len);
267
438 if (!data8) goto on_fail; 268 if (!data8) goto on_fail;
439 _pixels_argb_to_gry8_convert(data8, data, len); 269 _pixels_argb_to_gry8_convert(data8, data, len);
440 map->allocated = EINA_TRUE; 270 map->allocated = EINA_TRUE;
@@ -483,18 +313,12 @@ _evas_ector_gl_buffer_ector_buffer_unmap(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buff
483 Evas_GL_Image *old_glim = pd->glim; 313 Evas_GL_Image *old_glim = pd->glim;
484 int W, H; 314 int W, H;
485 315
486 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
487 W = pd->glim->w; 316 W = pd->glim->w;
488 H = pd->glim->h; 317 H = pd->glim->h;
489 */
490 W = pd->w;
491 H = pd->h;
492 /* END */
493 318
494 if (map->cspace == EFL_GFX_COLORSPACE_GRY8) 319 if (map->cspace == EFL_GFX_COLORSPACE_GRY8)
495 _pixels_gry8_to_argb_convert(map->image_data, map->base_data, W * H); 320 _pixels_gry8_to_argb_convert(map->image_data, map->base_data, W * H);
496 321
497 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
498 if (map->im) 322 if (map->im)
499 { 323 {
500 MAP_DUMP(map->im, "out_w_free"); 324 MAP_DUMP(map->im, "out_w_free");
@@ -506,61 +330,9 @@ _evas_ector_gl_buffer_ector_buffer_unmap(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buff
506 MAP_DUMP(old_glim, "out_w_nofree"); 330 MAP_DUMP(old_glim, "out_w_nofree");
507 pd->glim = evas_gl_common_image_surface_update(old_glim); 331 pd->glim = evas_gl_common_image_surface_update(old_glim);
508 } 332 }
509 */
510 if (pd->glim)
511 {
512 if (pd->was_render)
513 {
514 if (map->im)
515 {
516 MAP_DUMP(map->im, "out_w_free");
517 pd->glim = evas_gl_common_image_surface_update(map->im);
518 evas_gl_common_image_free(old_glim);
519 }
520 else
521 {
522 MAP_DUMP(old_glim, "out_w_nofree");
523 pd->glim = evas_gl_common_image_surface_update(old_glim);
524 }
525 }
526 else
527 {
528 if (map->im)
529 {
530 MAP_DUMP(map->im, "out_w_free");
531 pd->glim = eng_image_data_put(ENC, map->im, map->image_data);
532
533 if (pd->image_data != map->image_data)
534 {
535 free(pd->image_data);
536 pd->image_data = map->image_data;
537 }
538
539 evas_gl_common_image_free(old_glim);
540 evas_gl_common_image_dirty(pd->glim, 0, 0, 0, 0);
541 evas_gl_common_image_update(pd->glim->gc, pd->glim);
542 }
543 else
544 {
545 MAP_DUMP(old_glim, "out_w_nofree");
546 pd->glim = eng_image_data_put(ENC, pd->glim, map->image_data);
547
548 if (pd->image_data != map->image_data)
549 {
550 free(pd->image_data);
551 pd->image_data = map->image_data;
552 }
553
554 evas_gl_common_image_dirty(pd->glim, 0, 0, 0, 0);
555 evas_gl_common_image_update(pd->glim->gc, pd->glim);
556 }
557 }
558 }
559 /* END */
560 } 333 }
561 else 334 else
562 { 335 {
563 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
564 if (map->im) 336 if (map->im)
565 { 337 {
566 MAP_DUMP(map->im, "out_ro_free"); 338 MAP_DUMP(map->im, "out_ro_free");
@@ -571,51 +343,9 @@ _evas_ector_gl_buffer_ector_buffer_unmap(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buff
571 MAP_DUMP(pd->glim, "out_ro_nofree"); 343 MAP_DUMP(pd->glim, "out_ro_nofree");
572 pd->glim = eng_image_data_put(ENC, pd->glim, map->image_data); 344 pd->glim = eng_image_data_put(ENC, pd->glim, map->image_data);
573 } 345 }
574 */
575 if (pd->glim)
576 {
577 if (pd->was_render)
578 {
579 if (map->im)
580 {
581 MAP_DUMP(map->im, "out_ro_free");
582 eng_image_free(ENC, map->im);
583 }
584 else
585 {
586 MAP_DUMP(pd->glim, "out_ro_nofree");
587 pd->glim = eng_image_data_put(ENC, pd->glim, map->image_data);
588 }
589 }
590 else
591 {
592 if (map->im)
593 {
594 MAP_DUMP(map->im, "out_ro_free");
595 eng_image_free(ENC, map->im);
596 }
597 else
598 {
599 MAP_DUMP(pd->glim, "out_ro_nofree");
600 pd->glim = eng_image_data_put(ENC, pd->glim, map->image_data);
601
602 if (pd->image_data != map->image_data)
603 {
604 free(pd->image_data);
605 pd->image_data = map->image_data;
606 }
607
608 evas_gl_common_image_dirty(pd->glim, 0, 0, 0, 0);
609 evas_gl_common_image_update(pd->glim->gc, pd->glim);
610 }
611 }
612 }
613 /* END */
614 } 346 }
615 if (map->allocated) 347 if (map->allocated)
616 { 348 free(map->base_data);
617 free(map->base_data);
618 }
619 free(map); 349 free(map);
620 return; 350 return;
621 } 351 }
@@ -627,31 +357,18 @@ _evas_ector_gl_buffer_ector_buffer_unmap(Eo *obj EINA_UNUSED, Evas_Ector_GL_Buff
627EOLIAN static Efl_Object * 357EOLIAN static Efl_Object *
628_evas_ector_gl_buffer_efl_object_finalize(Eo *obj, Evas_Ector_GL_Buffer_Data *pd) 358_evas_ector_gl_buffer_efl_object_finalize(Eo *obj, Evas_Ector_GL_Buffer_Data *pd)
629{ 359{
630 if (_ector_cnt == 0)
631 _ector_buffer_init();
632
633 ++_ector_cnt;
634// printf("ector_cnt = %d", _ector_cnt);
635 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used
636 if (!pd->glim) 360 if (!pd->glim)
637 { 361 {
638 ERR("Buffer was not initialized properly!"); 362 ERR("Buffer was not initialized properly!");
639 return NULL; 363 return NULL;
640 } 364 }
641 */
642 /* END */
643 return efl_finalize(efl_super(obj, MY_CLASS)); 365 return efl_finalize(efl_super(obj, MY_CLASS));
644} 366}
645 367
646EOLIAN static void 368EOLIAN static void
647_evas_ector_gl_buffer_efl_object_destructor(Eo *obj, Evas_Ector_GL_Buffer_Data *pd) 369_evas_ector_gl_buffer_efl_object_destructor(Eo *obj, Evas_Ector_GL_Buffer_Data *pd)
648{ 370{
649 --_ector_cnt;
650 evas_gl_common_image_free(pd->glim); 371 evas_gl_common_image_free(pd->glim);
651 /* TIZEN_ONLY(20181130): evas ector - create a gl image when only it is going to be used */
652 free(pd->image_data);
653 pd->image_data = NULL;
654 /* END */
655 efl_destructor(efl_super(obj, MY_CLASS)); 372 efl_destructor(efl_super(obj, MY_CLASS));
656} 373}
657 374
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index 202ce6a..045323b 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -3115,8 +3115,6 @@ eng_image_surface_noscale_new(void *engine, int w, int h, int alpha)
3115static GL_Filter_Apply_Func 3115static GL_Filter_Apply_Func
3116_gfx_filter_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd) 3116_gfx_filter_func_get(Render_Engine_GL_Generic *re, Evas_Filter_Command *cmd)
3117{ 3117{
3118 return NULL;
3119
3120 GL_Filter_Apply_Func funcptr = NULL; 3118 GL_Filter_Apply_Func funcptr = NULL;
3121 3119
3122 switch (cmd->mode) 3120 switch (cmd->mode)