Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/evas
Dir : e17/libs/evas/src/lib/engines/common
Modified Files:
evas_blend_pixel_pixel.c
Log Message:
alignment...
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_pixel.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_blend_pixel_pixel.c 14 Nov 2002 05:38:10 -0000 1.2
+++ evas_blend_pixel_pixel.c 27 Feb 2003 00:07:46 -0000 1.3
@@ -143,12 +143,32 @@
evas_common_copy_pixels_rgba_to_rgba_mmx(DATA32 *src, DATA32 *dst, int len)
{
DATA32 *src_ptr, *dst_ptr, *dst_end_ptr, *dst_end_ptr_pre;
-
+ int src_align;
+ int dst_align;
+
+ src_align = (int)src & 0x7; /* 8 byte alignment */
+ dst_align = (int)dst & 0x7; /* 8 byte alignment */
+ if ((!src_align) && (!dst_align))
+ /* both not aligned. do fixup */
+ {
+ *dst = *src;
+ dst++;
+ src++;
+ len--;
+ }
+ else if ((!src_align) || (!dst_align))
+ /* one isnt aligned. we can't do fixup. do it the slow way */
+ {
+#ifdef BUILD_C
+ evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
+#endif
+ return;
+ }
src_ptr = src;
dst_ptr = dst;
dst_end_ptr = dst + len;
dst_end_ptr_pre = dst + ((len / 10) * 10);
-
+
while (dst_ptr < dst_end_ptr_pre)
{
MOVE_10DWORDS_MMX(src_ptr, dst_ptr);
@@ -169,6 +189,27 @@
evas_common_copy_pixels_rgba_to_rgba_sse(DATA32 *src, DATA32 *dst, int len)
{
DATA32 *src_ptr, *dst_ptr, *dst_end_ptr, *dst_end_ptr_pre;
+ int src_align;
+ int dst_align;
+
+ src_align = (int)src & 0x7; /* 8 byte alignment */
+ dst_align = (int)dst & 0x7; /* 8 byte alignment */
+ if ((!src_align) && (!dst_align))
+ /* both not aligned. do fixup */
+ {
+ *dst = *src;
+ dst++;
+ src++;
+ len--;
+ }
+ else if ((!src_align) || (!dst_align))
+ /* one isnt aligned. we can't do fixup. do it the slow way */
+ {
+#ifdef BUILD_C
+ evas_common_copy_pixels_rgba_to_rgba_c(src, dst, len);
+#endif
+ return;
+ }
src_ptr = src;
dst_ptr = dst;
-------------------------------------------------------
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs