fluffybrett!

SVN revision: 14033
This commit is contained in:
Carsten Haitzler 2005-03-31 09:10:10 +00:00
parent 5924ae6242
commit 0807a84f19
1 changed files with 40 additions and 46 deletions

View File

@ -181,10 +181,16 @@ evas_common_copy_pixels_rgba_to_rgba_mmx(DATA32 *src, DATA32 *dst, int len)
src_align = (int)src & 0x3f; /* 64 byte alignment */
dst_align = (int)dst & 0x3f; /* 64 byte alignment */
if ((src_align != 0) &&
(!(src_align & 0x3)) &&
(src_align == dst_align))
if ((src_align != dst_align) ||
((src_align & 0x3) != 0))
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
return;
}
#endif
while ((src_align > 0) && (len > 0))
{
*dst = *src;
@ -193,15 +199,7 @@ evas_common_copy_pixels_rgba_to_rgba_mmx(DATA32 *src, DATA32 *dst, int len)
len--;
src_align -= sizeof(DATA32);
}
}
else
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
#endif
return;
}
#endif
#endif /* ALIGN_FIX */
src_ptr = src;
dst_ptr = dst;
@ -234,10 +232,16 @@ evas_common_copy_pixels_rgba_to_rgba_mmx2(DATA32 *src, DATA32 *dst, int len)
src_align = (int)src & 0x3f; /* 64 byte alignment */
dst_align = (int)dst & 0x3f; /* 64 byte alignment */
if ((src_align != 0) &&
(!(src_align & 0x3)) &&
(src_align == dst_align))
if ((src_align != dst_align) ||
((src_align & 0x3) != 0))
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
#endif
return;
}
while ((src_align > 0) && (len > 0))
{
*dst = *src;
@ -246,14 +250,6 @@ evas_common_copy_pixels_rgba_to_rgba_mmx2(DATA32 *src, DATA32 *dst, int len)
len--;
src_align -= sizeof(DATA32);
}
}
else
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
#endif
return;
}
#endif
src_ptr = src;
@ -287,10 +283,16 @@ evas_common_copy_pixels_rgba_to_rgba_sse(DATA32 *src, DATA32 *dst, int len)
src_align = (int)src & 0x3f; /* 64 byte alignment */
dst_align = (int)dst & 0x3f; /* 64 byte alignment */
if ((src_align != 0) &&
(!(src_align & 0x3)) &&
(src_align == dst_align))
if ((src_align != dst_align) ||
((src_align & 0x3) != 0))
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
#endif
return;
}
while ((src_align > 0) && (len > 0))
{
*dst = *src;
@ -299,15 +301,7 @@ evas_common_copy_pixels_rgba_to_rgba_sse(DATA32 *src, DATA32 *dst, int len)
len--;
src_align -= sizeof(DATA32);
}
}
else
{
#ifdef BUILD_C
evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
#endif
return;
}
#endif
#endif /* ALIGN_FIX */
src_ptr = src;
dst_ptr = dst;