you know.... i was reviewing this patch this morning and i found

several problems with it... but SOMEONE... (lucas) committed it
without even so much as replying to the list saying he was going to...
:)



SVN revision: 63705
This commit is contained in:
Carsten Haitzler 2011-09-30 03:29:03 +00:00
parent 24c56344eb
commit 34ca6b6738
3 changed files with 27 additions and 15 deletions

View File

@ -68,9 +68,9 @@ void
evas_common_cpu_sse3_test(void)
{
#ifdef BUILD_SSE3
int data[4];
int data[4];
__m128i val = _mm_lddqu_si128((__m128i *)data);
_mm_lddqu_si128((__m128i *)data);
#endif
}
@ -170,10 +170,10 @@ evas_common_cpu_init(void)
cpu_feature_mask &= ~CPU_FEATURE_SSE;
#ifdef BUILD_SSE3
cpu_feature_mask |= CPU_FEATURE_SSE3 *
evas_common_cpu_feature_test(evas_common_cpu_sse3_test);
evas_common_cpu_feature_test(evas_common_cpu_sse3_test);
evas_common_cpu_end_opt();
if(getenv("EVAS_CPU_NO_SSE3"))
cpu_feature_mask &= ~CPU_FEATURE_SSE3;
cpu_feature_mask &= ~CPU_FEATURE_SSE3;
#endif /* BUILD_SSE3 */
#endif /* BUILD_SSE */
#endif /* BUILD_MMX */

View File

@ -84,6 +84,9 @@ evas_common_gfx_compositor_blend_rel_get(void)
# include "./evas_op_blend/op_blend_mask_color_i386.c"
//# include "./evas_op_blend/op_blend_pixel_mask_color_i386.c"
#ifdef BUILD_SSE3
static __m128i A_MASK_SSE3;
#endif
# include "./evas_op_blend/op_blend_pixel_sse3.c"
# include "./evas_op_blend/op_blend_color_sse3.c"
# include "./evas_op_blend/op_blend_pixel_color_sse3.c"
@ -410,17 +413,17 @@ op_blend_rel_init(void)
memset(op_blend_rel_span_funcs, 0, sizeof(op_blend_rel_span_funcs));
memset(op_blend_rel_pt_funcs, 0, sizeof(op_blend_rel_pt_funcs));
#ifdef BUILD_SSE3
init_blend_rel_pixel_span_funcs_c();
init_blend_rel_pixel_color_span_funcs_c();
init_blend_rel_pixel_mask_span_funcs_c();
init_blend_rel_color_span_funcs_c();
init_blend_rel_mask_color_span_funcs_c();
init_blend_rel_pixel_span_funcs_sse3();
init_blend_rel_pixel_color_span_funcs_sse3();
init_blend_rel_pixel_mask_span_funcs_sse3();
init_blend_rel_color_span_funcs_sse3();
init_blend_rel_mask_color_span_funcs_sse3();
init_blend_rel_pixel_pt_funcs_c();
init_blend_rel_pixel_color_pt_funcs_c();
init_blend_rel_pixel_mask_pt_funcs_c();
init_blend_rel_color_pt_funcs_c();
init_blend_rel_mask_color_pt_funcs_c();
init_blend_rel_pixel_pt_funcs_sse3();
init_blend_rel_pixel_color_pt_funcs_sse3();
init_blend_rel_pixel_mask_pt_funcs_sse3();
init_blend_rel_color_pt_funcs_sse3();
init_blend_rel_mask_color_pt_funcs_sse3();
#endif
#ifdef BUILD_MMX
init_blend_rel_pixel_span_funcs_mmx();

View File

@ -9,6 +9,15 @@
#include <immintrin.h>
#endif
#ifndef always_inline
#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
# define always_inline __attribute__((always_inline)) inline
#else
# define always_inline inline
#endif
#endif
/* src pixel flags: */
/* pixels none */
@ -191,7 +200,7 @@ static __m128i GA_MASK_SSE3;
static __m128i RB_MASK_SSE3;
static __m128i SYM4_MASK_SSE3;
static __m128i RGB_MASK_SSE3;
static __m128i A_MASK_SSE3;
//static __m128i A_MASK_SSE3;
static __m128i ALPHA_SSE3;