evas/common - initialize only the available blend stuff that cpu is supporting.

This commit is contained in:
ChunEon Park 2014-03-22 17:24:20 +09:00
parent f3d5cee0e4
commit 4de2059d41
5 changed files with 78 additions and 60 deletions

View File

@ -88,17 +88,20 @@ op_add_init(void)
memset(op_add_span_funcs, 0, sizeof(op_add_span_funcs));
memset(op_add_pt_funcs, 0, sizeof(op_add_pt_funcs));
#ifdef BUILD_MMX
init_add_pixel_span_funcs_mmx();
init_add_pixel_color_span_funcs_mmx();
init_add_pixel_mask_span_funcs_mmx();
init_add_color_span_funcs_mmx();
init_add_mask_color_span_funcs_mmx();
if (evas_common_cpu_has_feature(CPU_FEATURE_MMX))
{
init_add_pixel_span_funcs_mmx();
init_add_pixel_color_span_funcs_mmx();
init_add_pixel_mask_span_funcs_mmx();
init_add_color_span_funcs_mmx();
init_add_mask_color_span_funcs_mmx();
init_add_pixel_pt_funcs_mmx();
init_add_pixel_color_pt_funcs_mmx();
init_add_pixel_mask_pt_funcs_mmx();
init_add_color_pt_funcs_mmx();
init_add_mask_color_pt_funcs_mmx();
init_add_pixel_pt_funcs_mmx();
init_add_pixel_color_pt_funcs_mmx();
init_add_pixel_mask_pt_funcs_mmx();
init_add_color_pt_funcs_mmx();
init_add_mask_color_pt_funcs_mmx();
}
#endif
init_add_pixel_span_funcs_c();
init_add_pixel_color_span_funcs_c();

View File

@ -101,30 +101,36 @@ op_copy_init(void)
memset(op_copy_span_funcs, 0, sizeof(op_copy_span_funcs));
memset(op_copy_pt_funcs, 0, sizeof(op_copy_pt_funcs));
#ifdef BUILD_MMX
init_copy_pixel_span_funcs_mmx();
init_copy_pixel_color_span_funcs_mmx();
init_copy_pixel_mask_span_funcs_mmx();
init_copy_color_span_funcs_mmx();
init_copy_mask_color_span_funcs_mmx();
if (evas_common_cpu_has_feature(CPU_FEATURE_MMX))
{
init_copy_pixel_span_funcs_mmx();
init_copy_pixel_color_span_funcs_mmx();
init_copy_pixel_mask_span_funcs_mmx();
init_copy_color_span_funcs_mmx();
init_copy_mask_color_span_funcs_mmx();
init_copy_pixel_pt_funcs_mmx();
init_copy_pixel_color_pt_funcs_mmx();
init_copy_pixel_mask_pt_funcs_mmx();
init_copy_color_pt_funcs_mmx();
init_copy_mask_color_pt_funcs_mmx();
init_copy_pixel_pt_funcs_mmx();
init_copy_pixel_color_pt_funcs_mmx();
init_copy_pixel_mask_pt_funcs_mmx();
init_copy_color_pt_funcs_mmx();
init_copy_mask_color_pt_funcs_mmx();
}
#endif
#ifdef BUILD_NEON
init_copy_pixel_span_funcs_neon();
init_copy_pixel_color_span_funcs_neon();
init_copy_pixel_mask_span_funcs_neon();
init_copy_color_span_funcs_neon();
init_copy_mask_color_span_funcs_neon();
if (evas_common_cpu_has_feature(CPU_FEATURE_NEON))
{
init_copy_pixel_span_funcs_neon();
init_copy_pixel_color_span_funcs_neon();
init_copy_pixel_mask_span_funcs_neon();
init_copy_color_span_funcs_neon();
init_copy_mask_color_span_funcs_neon();
init_copy_pixel_pt_funcs_neon();
init_copy_pixel_color_pt_funcs_neon();
init_copy_pixel_mask_pt_funcs_neon();
init_copy_color_pt_funcs_neon();
init_copy_mask_color_pt_funcs_neon();
init_copy_pixel_pt_funcs_neon();
init_copy_pixel_color_pt_funcs_neon();
init_copy_pixel_mask_pt_funcs_neon();
init_copy_color_pt_funcs_neon();
init_copy_mask_color_pt_funcs_neon();
}
#endif
init_copy_pixel_span_funcs_c();
init_copy_pixel_color_span_funcs_c();

View File

@ -56,17 +56,20 @@ op_mask_init(void)
memset(op_mask_span_funcs, 0, sizeof(op_mask_span_funcs));
memset(op_mask_pt_funcs, 0, sizeof(op_mask_pt_funcs));
#ifdef BUILD_MMX
init_mask_pixel_span_funcs_mmx();
init_mask_pixel_color_span_funcs_mmx();
init_mask_pixel_mask_span_funcs_mmx();
init_mask_color_span_funcs_mmx();
init_mask_mask_color_span_funcs_mmx();
if (evas_common_cpu_has_feature(CPU_FEATURE_MMX))
{
init_mask_pixel_span_funcs_mmx();
init_mask_pixel_color_span_funcs_mmx();
init_mask_pixel_mask_span_funcs_mmx();
init_mask_color_span_funcs_mmx();
init_mask_mask_color_span_funcs_mmx();
init_mask_pixel_pt_funcs_mmx();
init_mask_pixel_color_pt_funcs_mmx();
init_mask_pixel_mask_pt_funcs_mmx();
init_mask_color_pt_funcs_mmx();
init_mask_mask_color_pt_funcs_mmx();
init_mask_pixel_pt_funcs_mmx();
init_mask_pixel_color_pt_funcs_mmx();
init_mask_pixel_mask_pt_funcs_mmx();
init_mask_color_pt_funcs_mmx();
init_mask_mask_color_pt_funcs_mmx();
}
#endif
init_mask_pixel_span_funcs_c();
init_mask_pixel_color_span_funcs_c();

View File

@ -55,17 +55,20 @@ op_mul_init(void)
memset(op_mul_span_funcs, 0, sizeof(op_mul_span_funcs));
memset(op_mul_pt_funcs, 0, sizeof(op_mul_pt_funcs));
#ifdef BUILD_MMX
init_mul_pixel_span_funcs_mmx();
init_mul_pixel_color_span_funcs_mmx();
init_mul_pixel_mask_span_funcs_mmx();
init_mul_color_span_funcs_mmx();
init_mul_mask_color_span_funcs_mmx();
if (evas_common_cpu_has_feature(CPU_FEATURE_MMX))
{
init_mul_pixel_span_funcs_mmx();
init_mul_pixel_color_span_funcs_mmx();
init_mul_pixel_mask_span_funcs_mmx();
init_mul_color_span_funcs_mmx();
init_mul_mask_color_span_funcs_mmx();
init_mul_pixel_pt_funcs_mmx();
init_mul_pixel_color_pt_funcs_mmx();
init_mul_pixel_mask_pt_funcs_mmx();
init_mul_color_pt_funcs_mmx();
init_mul_mask_color_pt_funcs_mmx();
init_mul_pixel_pt_funcs_mmx();
init_mul_pixel_color_pt_funcs_mmx();
init_mul_pixel_mask_pt_funcs_mmx();
init_mul_color_pt_funcs_mmx();
init_mul_mask_color_pt_funcs_mmx();
}
#endif
init_mul_pixel_span_funcs_c();
init_mul_pixel_color_span_funcs_c();

View File

@ -89,17 +89,20 @@ op_sub_init(void)
memset(op_sub_span_funcs, 0, sizeof(op_sub_span_funcs));
memset(op_sub_pt_funcs, 0, sizeof(op_sub_pt_funcs));
#ifdef BUILD_MMX
init_sub_pixel_span_funcs_mmx();
init_sub_pixel_color_span_funcs_mmx();
init_sub_pixel_mask_span_funcs_mmx();
init_sub_color_span_funcs_mmx();
init_sub_mask_color_span_funcs_mmx();
if (evas_common_cpu_has_feature(CPU_FEATURE_MMX))
{
init_sub_pixel_span_funcs_mmx();
init_sub_pixel_color_span_funcs_mmx();
init_sub_pixel_mask_span_funcs_mmx();
init_sub_color_span_funcs_mmx();
init_sub_mask_color_span_funcs_mmx();
init_sub_pixel_pt_funcs_mmx();
init_sub_pixel_color_pt_funcs_mmx();
init_sub_pixel_mask_pt_funcs_mmx();
init_sub_color_pt_funcs_mmx();
init_sub_mask_color_pt_funcs_mmx();
init_sub_pixel_pt_funcs_mmx();
init_sub_pixel_color_pt_funcs_mmx();
init_sub_pixel_mask_pt_funcs_mmx();
init_sub_color_pt_funcs_mmx();
init_sub_mask_color_pt_funcs_mmx();
}
#endif
init_sub_pixel_span_funcs_c();
init_sub_pixel_color_span_funcs_c();