Evas filters: Reduce debugging with default compile opts

When using debug compile flags, full-on filter debug will happen.
This commit is contained in:
Jean-Philippe Andre 2015-06-09 21:29:13 +09:00
parent f3e16bc485
commit 4882788527
5 changed files with 67 additions and 53 deletions

View File

@ -72,9 +72,6 @@ evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async)
* better and implement filters direcly with shaders. * better and implement filters direcly with shaders.
*/ */
ctx->gl_engine = (evas->engine.func->gl_surface_read_pixels != NULL); ctx->gl_engine = (evas->engine.func->gl_surface_read_pixels != NULL);
if (ctx->gl_engine)
DBG("Detected GL engine. All filters will still run in software (SLOW).");
return ctx; return ctx;
} }
@ -211,7 +208,7 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj,
_assert(fb->h == source->cur->geometry.h); _assert(fb->h == source->cur->geometry.h);
if (source->proxy->surface && !source->proxy->redraw) if (source->proxy->surface && !source->proxy->redraw)
{ {
DBG("Source already rendered: '%s' of type '%s'", XDBG("Source already rendered: '%s' of type '%s'",
fb->source_name, eo_class_name_get(eo_class_get(fb->source))); fb->source_name, eo_class_name_get(eo_class_get(fb->source)));
_filter_buffer_backing_free(fb); _filter_buffer_backing_free(fb);
if (!ctx->gl_engine) if (!ctx->gl_engine)
@ -229,7 +226,7 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj,
} }
else else
{ {
DBG("Source needs to be rendered: '%s' of type '%s' (%s)", XDBG("Source needs to be rendered: '%s' of type '%s' (%s)",
fb->source_name, eo_class_name_get(eo_class_get(fb->source)), fb->source_name, eo_class_name_get(eo_class_get(fb->source)),
source->proxy->redraw ? "redraw" : "no surface"); source->proxy->redraw ? "redraw" : "no surface");
evas_render_proxy_subrender(ctx->evas->evas, fb->source, eo_obj, obj, do_async); evas_render_proxy_subrender(ctx->evas->evas, fb->source, eo_obj, obj, do_async);
@ -247,7 +244,7 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj,
} }
fb->alpha_only = EINA_FALSE; fb->alpha_only = EINA_FALSE;
} }
DBG("Source has dimensions %dx%d (buffer %d)", fb->w, fb->h, fb->id); XDBG("Source has dimensions %dx%d (buffer %d)", fb->w, fb->h, fb->id);
} }
} }
@ -366,7 +363,7 @@ evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx)
w = ctx->w; w = ctx->w;
h = ctx->h; h = ctx->h;
//DBG("Allocating all buffers based on output size %ux%u", w, h); XDBG("Allocating all buffers based on output size %ux%u", w, h);
EINA_INLIST_FOREACH(ctx->commands, cmd) EINA_INLIST_FOREACH(ctx->commands, cmd)
{ {
@ -409,7 +406,7 @@ evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx)
if (fillmode & EVAS_FILTER_FILL_MODE_STRETCH_Y) if (fillmode & EVAS_FILTER_FILL_MODE_STRETCH_Y)
sh = h; sh = h;
//DBG("Allocating temporary buffer of size %ux%u %s", sw, sh, in->alpha_only ? "alpha" : "rgba"); XDBG("Allocating temporary buffer of size %ux%u %s", sw, sh, in->alpha_only ? "alpha" : "rgba");
fb = evas_filter_buffer_alloc_new(ctx, sw, sh, in->alpha_only); fb = evas_filter_buffer_alloc_new(ctx, sw, sh, in->alpha_only);
if (!fb) goto alloc_fail; if (!fb) goto alloc_fail;
fb->transient = EINA_TRUE; fb->transient = EINA_TRUE;
@ -424,7 +421,7 @@ evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx)
if (in->w) sw = in->w; if (in->w) sw = in->w;
if (in->h) sh = in->h; if (in->h) sh = in->h;
//DBG("Allocating temporary buffer of size %ux%u %s", sw, sh, in->alpha_only ? "alpha" : "rgba"); XDBG("Allocating temporary buffer of size %ux%u %s", sw, sh, in->alpha_only ? "alpha" : "rgba");
fb = evas_filter_buffer_alloc_new(ctx, sw, sh, in->alpha_only); fb = evas_filter_buffer_alloc_new(ctx, sw, sh, in->alpha_only);
if (!fb) goto alloc_fail; if (!fb) goto alloc_fail;
fb->transient = EINA_TRUE; fb->transient = EINA_TRUE;
@ -464,7 +461,7 @@ evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx)
continue; continue;
} }
//DBG("Allocating buffer of size %ux%u %s", fb->w, fb->h, fb->alpha_only ? "alpha" : "rgba"); XDBG("Allocating buffer of size %ux%u %s", fb->w, fb->h, fb->alpha_only ? "alpha" : "rgba");
im = _rgba_image_alloc(fb, NULL); im = _rgba_image_alloc(fb, NULL);
if (!im) goto alloc_fail; if (!im) goto alloc_fail;
@ -493,7 +490,7 @@ evas_filter_buffer_empty_new(Evas_Filter_Context *ctx, Eina_Bool alpha_only)
fb->transient = EINA_FALSE; fb->transient = EINA_FALSE;
DBG("Created context buffer %d", fb->id); XDBG("Created context buffer %d", fb->id);
return fb->id; return fb->id;
} }
@ -827,7 +824,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
if (dy < 0) dy = 0; if (dy < 0) dy = 0;
if (!dx && !dy) if (!dx && !dy)
{ {
DBG("Changing 0px blur into simple blend"); XDBG("Changing 0px blur into simple blend");
return evas_filter_command_blend_add(ctx, drawctx, inbuf, outbuf, ox, oy, EVAS_FILTER_FILL_MODE_NONE); return evas_filter_command_blend_add(ctx, drawctx, inbuf, outbuf, ox, oy, EVAS_FILTER_FILL_MODE_NONE);
} }
@ -943,7 +940,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
else if ((blend || (in->alpha_only && !out->alpha_only)) || else if ((blend || (in->alpha_only && !out->alpha_only)) ||
(!blend && !in->alpha_only && !out->alpha_only && (color != 0xFFFFFFFF))) (!blend && !in->alpha_only && !out->alpha_only && (color != 0xFFFFFFFF)))
{ {
DBG("Adding extra blending step %d --> %d (%s --> %s)", in->id, out->id, XDBG("Adding extra blending step %d --> %d (%s --> %s)", in->id, out->id,
in->alpha_only ? "Alpha" : "RGBA", in->alpha_only ? "Alpha" : "RGBA",
out->alpha_only ? "Alpha" : "RGBA"); out->alpha_only ? "Alpha" : "RGBA");
Eina_Bool wasl = in->locked; Eina_Bool wasl = in->locked;
@ -1022,7 +1019,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
if (dx) if (dx)
{ {
DBG("Add horizontal blur %d -> %d (%dpx)", in->id, out_dx->id, dx); XDBG("Add horizontal blur %d -> %d (%dpx)", in->id, out_dx->id, dx);
cmd = _command_new(ctx, EVAS_FILTER_MODE_BLUR, in, NULL, out_dx); cmd = _command_new(ctx, EVAS_FILTER_MODE_BLUR, in, NULL, out_dx);
if (!cmd) goto fail; if (!cmd) goto fail;
cmd->blur.type = type; cmd->blur.type = type;
@ -1036,7 +1033,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
if (dy) if (dy)
{ {
DBG("Add vertical blur %d -> %d (%dpx)", in_dy->id, out_dy->id, dy); XDBG("Add vertical blur %d -> %d (%dpx)", in_dy->id, out_dy->id, dy);
cmd = _command_new(ctx, EVAS_FILTER_MODE_BLUR, in_dy, NULL, out_dy); cmd = _command_new(ctx, EVAS_FILTER_MODE_BLUR, in_dy, NULL, out_dy);
if (!cmd) goto fail; if (!cmd) goto fail;
cmd->blur.type = type; cmd->blur.type = type;
@ -1053,7 +1050,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
int render_op; int render_op;
if (!cmd) goto fail; if (!cmd) goto fail;
DBG("Add copy %d -> %d", copybuf->id, blur_out->id); XDBG("Add copy %d -> %d", copybuf->id, blur_out->id);
cmd->ENFN->context_color_set(cmd->ENDT, drawctx, 255, 255, 255, 255); cmd->ENFN->context_color_set(cmd->ENDT, drawctx, 255, 255, 255, 255);
render_op = cmd->ENFN->context_render_op_get(cmd->ENDT, drawctx); render_op = cmd->ENFN->context_render_op_get(cmd->ENDT, drawctx);
cmd->ENFN->context_render_op_set(cmd->ENDT, drawctx, EVAS_RENDER_COPY); cmd->ENFN->context_render_op_set(cmd->ENDT, drawctx, EVAS_RENDER_COPY);
@ -1066,7 +1063,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx,
if (blend) if (blend)
{ {
DBG("Add blend %d (%s) -> %d (%s)", XDBG("Add blend %d (%s) -> %d (%s)",
blur_out->id, blur_out->alpha_only ? "Alpha" : "RGBA", blur_out->id, blur_out->alpha_only ? "Alpha" : "RGBA",
out->id, out->alpha_only ? "Alpha" : "RGBA"); out->id, out->alpha_only ? "Alpha" : "RGBA");
id = evas_filter_command_blend_add(ctx, drawctx, blur_out->id, out->id, ox, oy, EVAS_FILTER_FILL_MODE_NONE); id = evas_filter_command_blend_add(ctx, drawctx, blur_out->id, out->id, ox, oy, EVAS_FILTER_FILL_MODE_NONE);
@ -1096,7 +1093,7 @@ evas_filter_command_blend_add(Evas_Filter_Context *ctx, void *drawctx,
if (inbuf == outbuf) if (inbuf == outbuf)
{ {
DBG("Skipping NOP blend operation %d --> %d", inbuf, outbuf); XDBG("Skipping NOP blend operation %d --> %d", inbuf, outbuf);
return -1; return -1;
} }
@ -1129,7 +1126,7 @@ evas_filter_command_blend_add(Evas_Filter_Context *ctx, void *drawctx,
&cmd->draw.clip.w, &cmd->draw.clip.h); &cmd->draw.clip.w, &cmd->draw.clip.h);
if (cmd->draw.clip_use) if (cmd->draw.clip_use)
DBG("Draw clip: %d,%d,%d,%d", cmd->draw.clip.x, cmd->draw.clip.y, XDBG("Draw clip: %d,%d,%d,%d", cmd->draw.clip.x, cmd->draw.clip.y,
cmd->draw.clip.w, cmd->draw.clip.h); cmd->draw.clip.w, cmd->draw.clip.h);
out->dirty = EINA_TRUE; out->dirty = EINA_TRUE;
@ -1149,7 +1146,7 @@ evas_filter_command_grow_add(Evas_Filter_Context *ctx, void *draw_context,
if (!radius) if (!radius)
{ {
DBG("Changing 0px grow into simple blend"); XDBG("Changing 0px grow into simple blend");
return evas_filter_command_blend_add(ctx, draw_context, inbuf, outbuf, 0, 0, EVAS_FILTER_FILL_MODE_NONE); return evas_filter_command_blend_add(ctx, draw_context, inbuf, outbuf, 0, 0, EVAS_FILTER_FILL_MODE_NONE);
} }
@ -1573,7 +1570,7 @@ evas_filter_target_set(Evas_Filter_Context *ctx, void *draw_context,
(ENDT, fb->w, fb->h, fb->backing->image.data, EINA_TRUE, (ENDT, fb->w, fb->h, fb->backing->image.data, EINA_TRUE,
fb->backing->cache_entry.space); fb->backing->cache_entry.space);
DBG("Set target as #%d (%p) and output #%d (%p, gl %p)", XDBG("Set target as #%d (%p) and output #%d (%p, gl %p)",
ctx->target.bufid, surface, fb->id, fb->backing, fb->glimage); ctx->target.bufid, surface, fb->id, fb->backing, fb->glimage);
} }
@ -1607,7 +1604,7 @@ _filter_target_render(Evas_Filter_Context *ctx)
surface = dst->glimage; surface = dst->glimage;
if (src->glimage) if (src->glimage)
{ {
DBG("Using glimage from output buffer."); XDBG("Using glimage from output buffer.");
if (src->backing) if (src->backing)
ENFN->image_data_put(ENDT, src->glimage, src->backing->image.data); ENFN->image_data_put(ENDT, src->glimage, src->backing->image.data);
} }
@ -1615,7 +1612,7 @@ _filter_target_render(Evas_Filter_Context *ctx)
{ {
RGBA_Image *im = src->backing; RGBA_Image *im = src->backing;
DBG("Creating glimage from output buffer."); XDBG("Creating glimage from output buffer.");
src->glimage = ENFN->image_new_from_data(ENDT, src->w, src->h, src->glimage = ENFN->image_new_from_data(ENDT, src->w, src->h,
im->image.data, EINA_TRUE, im->image.data, EINA_TRUE,
EVAS_COLORSPACE_ARGB8888); EVAS_COLORSPACE_ARGB8888);
@ -1824,6 +1821,7 @@ _clip_to_target(int *sx /* OUT */, int *sy /* OUT */, int sw, int sh,
} }
} }
#ifdef FILTERS_DEBUG
static const char * static const char *
_filter_name_get(int mode) _filter_name_get(int mode)
{ {
@ -1841,6 +1839,7 @@ _filter_name_get(int mode)
} }
#undef FNAME #undef FNAME
} }
#endif
static Eina_Bool static Eina_Bool
_filter_command_run(Evas_Filter_Command *cmd) _filter_command_run(Evas_Filter_Command *cmd)
@ -1850,14 +1849,16 @@ _filter_command_run(Evas_Filter_Command *cmd)
EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->output, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->output, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->input, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(cmd->input, EINA_FALSE);
DBG("Command %d (%s): %d [%d] --> %d", #ifdef FILTERS_DEBUG
XDBG("Command %d (%s): %d [%d] --> %d",
cmd->id, _filter_name_get(cmd->mode), cmd->id, _filter_name_get(cmd->mode),
cmd->input->id, cmd->mask ? cmd->mask->id : 0, cmd->output->id); cmd->input->id, cmd->mask ? cmd->mask->id : 0, cmd->output->id);
#endif
if (!cmd->input->w && !cmd->input->h if (!cmd->input->w && !cmd->input->h
&& (cmd->mode != EVAS_FILTER_MODE_FILL)) && (cmd->mode != EVAS_FILTER_MODE_FILL))
{ {
DBG("Skipping processing of empty input buffer (size 0x0)"); XDBG("Skipping processing of empty input buffer (size 0x0)");
return EINA_TRUE; return EINA_TRUE;
} }
@ -1962,6 +1963,7 @@ _filter_thread_run_cb(void *data)
Eina_Bool Eina_Bool
evas_filter_run(Evas_Filter_Context *ctx) evas_filter_run(Evas_Filter_Context *ctx)
{ {
static int warned = 0;
Eina_Bool ret; Eina_Bool ret;
EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, EINA_FALSE);
@ -1969,8 +1971,11 @@ evas_filter_run(Evas_Filter_Context *ctx)
if (!ctx->commands) if (!ctx->commands)
return EINA_TRUE; return EINA_TRUE;
if (ctx->gl_engine) if (ctx->gl_engine && !warned)
INF("EXPERIMENTAL OpenGL support! The text filters will be very slow!"); {
DBG("OpenGL support through SW functions, expect low performance!");
warned = 1;
}
if (ctx->async) if (ctx->async)
{ {

View File

@ -323,17 +323,18 @@ _mapped_blend(void *data, void *drawctx,
int right = 0, bottom = 0, left = 0, top = 0; int right = 0, bottom = 0, left = 0, top = 0;
int row, col, rows, cols; int row, col, rows, cols;
Eina_Bool ret = EINA_TRUE; Eina_Bool ret = EINA_TRUE;
Eina_Bool debug = eina_log_domain_level_check(_evas_filter_log_dom, 6);
EINA_SAFETY_ON_FALSE_RETURN_VAL((sx == 0) && (sy == 0), EINA_FALSE); EINA_SAFETY_ON_FALSE_RETURN_VAL((sx == 0) && (sy == 0), EINA_FALSE);
if (fillmode == EVAS_FILTER_FILL_MODE_NONE) if (fillmode == EVAS_FILTER_FILL_MODE_NONE)
{ {
_clip_to_target(&sx, &sy, sw, sh, dx, dy, dw, dh, &dx, &dy, &rows, &cols); _clip_to_target(&sx, &sy, sw, sh, dx, dy, dw, dh, &dx, &dy, &rows, &cols);
/* if (debug)
DBG("blend: %d,%d,%d,%d --> %d,%d,%d,%d (from %dx%d to %dx%d +%d,%d)", {
0, 0, sw, sh, dx, dy, cols, rows, sw, sh, dw, dh, dx, dy); XDBG("blend: %d,%d,%d,%d --> %d,%d,%d,%d (from %dx%d to %dx%d +%d,%d)",
*/ 0, 0, sw, sh, dx, dy, cols, rows, sw, sh, dw, dh, dx, dy);
}
image_draw(data, drawctx, out, in, image_draw(data, drawctx, out, in,
sx, sy, cols, rows, // src sx, sy, cols, rows, // src
dx, dy, cols, rows, // dst dx, dy, cols, rows, // dst
@ -467,13 +468,14 @@ _mapped_blend(void *data, void *drawctx,
} }
if (src_w <= 0 || dst_w <= 0) break; if (src_w <= 0 || dst_w <= 0) break;
/* if (debug)
DBG("blend: [%d,%d] %d,%d,%dx%d --> %d,%d,%dx%d " {
"(src %dx%d, dst %dx%d)", XDBG("blend: [%d,%d] %d,%d,%dx%d --> %d,%d,%dx%d "
col, row, src_x, src_y, src_w, src_h, "(src %dx%d, dst %dx%d)",
dst_x, dst_y, dst_w, dst_h, col, row, src_x, src_y, src_w, src_h,
sw, sh, dw, dh); dst_x, dst_y, dst_w, dst_h,
*/ sw, sh, dw, dh);
}
image_draw(data, drawctx, out, in, image_draw(data, drawctx, out, in,
src_x, src_y, src_w, src_h, src_x, src_y, src_w, src_h,
dst_x, dst_y, dst_w, dst_h, dst_x, dst_y, dst_w, dst_h,

View File

@ -19,7 +19,7 @@ _box_blur_auto_radius(int *radii, int r)
radii[0] = r / 2; radii[0] = r / 2;
radii[1] = r - radii[0] - 1; radii[1] = r - radii[0] - 1;
radii[2] = 0; radii[2] = 0;
DBG("Using auto radius for %d: %d %d", r, radii[0], radii[1]); XDBG("Using auto radius for %d: %d %d", r, radii[0], radii[1]);
return 2; return 2;
} }
else else
@ -28,7 +28,7 @@ _box_blur_auto_radius(int *radii, int r)
radii[1] = (r + 2) / 3; radii[1] = (r + 2) / 3;
radii[2] = r - radii[0] - radii[1]; radii[2] = r - radii[0] - radii[1];
radii[3] = 0; radii[3] = 0;
DBG("Using auto radius for %d: %d %d %d", r, radii[0], radii[1], radii[2]); XDBG("Using auto radius for %d: %d %d %d", r, radii[0], radii[1], radii[2]);
return 3; return 3;
} }
} }

View File

@ -10,10 +10,6 @@
# define LUA52 1 # define LUA52 1
#endif #endif
#ifdef DEBUG
# define FILTERS_DEBUG
#endif
#define FILTERS_LEGACY_COMPAT #define FILTERS_LEGACY_COMPAT
#define EVAS_FILTER_MODE_GROW (EVAS_FILTER_MODE_LAST+1) #define EVAS_FILTER_MODE_GROW (EVAS_FILTER_MODE_LAST+1)
@ -1753,7 +1749,7 @@ _padding_set_padding_update(Evas_Filter_Program *pgm,
b = _instruction_param_geti(instr, "b", &bset); b = _instruction_param_geti(instr, "b", &bset);
if (!lset && !rset && !bset && !tset) if (!lset && !rset && !bset && !tset)
DBG("padding_set() called without specifying any of l,r,t,b resets to 0"); INF("padding_set() called without specifying any of l,r,t,b resets to 0");
if (l < 0 || r < 0 || t < 0 || b < 0) if (l < 0 || r < 0 || t < 0 || b < 0)
{ {
@ -2141,7 +2137,7 @@ _lua_print(lua_State *L)
if (nargs < 1) if (nargs < 1)
{ {
DBG("LUA: (nothing)"); INF("(nothing)");
return 0; return 0;
} }
@ -2160,7 +2156,7 @@ _lua_print(lua_State *L)
eina_strbuf_append_char(s, ' '); eina_strbuf_append_char(s, ' ');
} }
INF("LUA: %s", eina_strbuf_string_get(s)); INF("%s", eina_strbuf_string_get(s));
eina_strbuf_free(s); eina_strbuf_free(s);
return 0; return 0;
@ -2250,11 +2246,12 @@ _lua_import_class(lua_State *L, const char *name, char **code)
f = eina_file_open(path, EINA_FALSE); f = eina_file_open(path, EINA_FALSE);
if (!f) return EINA_FALSE; if (!f) return EINA_FALSE;
sz = eina_file_size_get(f); sz = eina_file_size_get(f);
*code = malloc(sz); *code = malloc(sz + 1);
if (!*code) return EINA_FALSE; if (!*code) return EINA_FALSE;
map = eina_file_map_all(f, EINA_FILE_SEQUENTIAL); map = eina_file_map_all(f, EINA_FILE_SEQUENTIAL);
if (!map) return EINA_FALSE; if (!map) return EINA_FALSE;
memcpy(*code, map, sz); memcpy(*code, map, sz);
(*code)[sz] = '\0';
eina_file_map_free(f, map); eina_file_map_free(f, map);
eina_file_close(f); eina_file_close(f);
} }
@ -3388,7 +3385,7 @@ _instruction_dump(Evas_Filter_Instruction *instr)
comma = ", "; comma = ", ";
} }
eina_strbuf_append(str, "})"); eina_strbuf_append(str, "})");
DBG("%s", eina_strbuf_string_get(str)); XDBG("%s", eina_strbuf_string_get(str));
eina_strbuf_free(str); eina_strbuf_free(str);
} }
#else #else
@ -3408,7 +3405,7 @@ evas_filter_context_program_use(Evas_Filter_Context *ctx,
EINA_SAFETY_ON_NULL_RETURN_VAL(pgm, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(pgm, EINA_FALSE);
EINA_SAFETY_ON_FALSE_RETURN_VAL(pgm->valid, EINA_FALSE); EINA_SAFETY_ON_FALSE_RETURN_VAL(pgm->valid, EINA_FALSE);
DBG("Using program '%s' for context %p", pgm->name, ctx); XDBG("Using program '%s' for context %p", pgm->name, ctx);
// Copy current state (size, edje state val, color class, etc...) // Copy current state (size, edje state val, color class, etc...)
ctx->w = pgm->state.w; ctx->w = pgm->state.w;

View File

@ -8,6 +8,10 @@
extern int _evas_filter_log_dom; extern int _evas_filter_log_dom;
#define EVAS_FILTER_LOG_COLOR EINA_COLOR_LIGHTBLUE #define EVAS_FILTER_LOG_COLOR EINA_COLOR_LIGHTBLUE
#ifdef DEBUG
# define FILTERS_DEBUG
#endif
#ifdef ERR #ifdef ERR
# undef ERR # undef ERR
#endif #endif
@ -29,6 +33,12 @@ extern int _evas_filter_log_dom;
#endif #endif
#define DBG(...) EINA_LOG_DOM_DBG(_evas_filter_log_dom, __VA_ARGS__) #define DBG(...) EINA_LOG_DOM_DBG(_evas_filter_log_dom, __VA_ARGS__)
#ifdef FILTERS_DEBUG
# define XDBG(...) DBG(__VA_ARGS__)
#else
# define XDBG(...) do {} while (0)
#endif
// This is a potential optimization. // This is a potential optimization.
#define DIV_USING_BITSHIFT 1 #define DIV_USING_BITSHIFT 1
@ -82,8 +92,8 @@ extern int _evas_filter_log_dom;
# define DEBUG_TIME_END() \ # define DEBUG_TIME_END() \
clock_gettime(CLOCK_MONOTONIC, &ts2); \ clock_gettime(CLOCK_MONOTONIC, &ts2); \
long long int t = 1000000LL * (ts2.tv_sec - ts1.tv_sec) \ long long int t = 1000000LL * (ts2.tv_sec - ts1.tv_sec) \
+ (ts2.tv_nsec - ts1.tv_nsec) / 1000LL; \ + (ts2.tv_nsec - ts1.tv_nsec) / 1000LL; (void) t; \
INF("TIME SPENT: %lldus", t); XDBG("TIME SPENT: %lldus", t);
#else #else
# define DEBUG_TIME_BEGIN() do {} while(0) # define DEBUG_TIME_BEGIN() do {} while(0)
# define DEBUG_TIME_END() do {} while(0) # define DEBUG_TIME_END() do {} while(0)