evas - fix neon scale code

Summary: evas_scale_smooth would not compile with BUILD_NEON set

Reviewers: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D424
This commit is contained in:
Nick Reed 2014-01-01 11:22:39 +09:00 committed by Carsten Haitzler (Rasterman)
parent f7aae1cf25
commit 1799ccfd9d
1 changed files with 41 additions and 1 deletions

View File

@ -101,7 +101,7 @@ scale_calc_a_points(int *p, int s, int d, int c, int cc)
# undef SCALE_FUNC
# undef SCALE_USING_NEON
# define SCALE_USING_NEON
# define SCALE_FUNC evas_common_scale_rgba_in_to_out_clip_smooth_neon
# define SCALE_FUNC _evas_common_scale_rgba_in_to_out_clip_smooth_neon
# include "evas_scale_smooth_scaler.c"
# undef SCALE_USING_NEON
#endif
@ -151,6 +151,46 @@ evas_common_scale_rgba_in_to_out_clip_smooth_mmx(RGBA_Image *src, RGBA_Image *ds
}
#endif
#ifdef BUILD_NEON
Eina_Bool
evas_common_scale_rgba_in_to_out_clip_smooth_neon(RGBA_Image *src, RGBA_Image *dst,
RGBA_Draw_Context *dc,
int src_region_x, int src_region_y,
int src_region_w, int src_region_h,
int dst_region_x, int dst_region_y,
int dst_region_w, int dst_region_h)
{
int clip_x, clip_y, clip_w, clip_h;
DATA32 mul_col;
if (dc->clip.use)
{
clip_x = dc->clip.x;
clip_y = dc->clip.y;
clip_w = dc->clip.w;
clip_h = dc->clip.h;
}
else
{
clip_x = 0;
clip_y = 0;
clip_w = dst->cache_entry.w;
clip_h = dst->cache_entry.h;
}
mul_col = dc->mul.use ? dc->mul.col : 0xffffffff;
_evas_common_scale_rgba_in_to_out_clip_smooth_neon
(src, dst,
clip_x, clip_y, clip_w, clip_h,
mul_col, dc->render_op,
src_region_x, src_region_y, src_region_w, src_region_h,
dst_region_x, dst_region_y, dst_region_w, dst_region_h);
return EINA_TRUE;
}
#endif
Eina_Bool
evas_common_scale_rgba_in_to_out_clip_smooth_c(RGBA_Image *src, RGBA_Image *dst,
RGBA_Draw_Context *dc,