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,6 +88,8 @@ 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
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();
@ -99,6 +101,7 @@ op_add_init(void)
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,6 +101,8 @@ 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
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();
@ -112,8 +114,11 @@ op_copy_init(void)
init_copy_pixel_mask_pt_funcs_mmx();
init_copy_color_pt_funcs_mmx();
init_copy_mask_color_pt_funcs_mmx();
}
#endif
#ifdef BUILD_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();
@ -125,6 +130,7 @@ op_copy_init(void)
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,6 +56,8 @@ 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
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();
@ -67,6 +69,7 @@ op_mask_init(void)
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,6 +55,8 @@ 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
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();
@ -66,6 +68,7 @@ op_mul_init(void)
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,6 +89,8 @@ 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
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();
@ -100,6 +102,7 @@ op_sub_init(void)
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();