Missing loop in fbCompositeTrans_0565xnx0565?

Keith Packard keithp@keithp.com
Sat, 27 Dec 2003 21:36:55 -0800


I noticed that the unaligned case in the fbCompositeTrans_0565xnx0565 
function doesn't appear to loop over each scanline.  Does it need:

Index: fbpict.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbpict.c,v
retrieving revision 1.26
diff -u -r1.26 fbpict.c
--- fbpict.c    21 Dec 2003 09:21:05 -0000      1.26
+++ fbpict.c    28 Dec 2003 05:37:13 -0000
@@ -1054,6 +1017,9 @@
                }
                else
                {
+                   while (w > 1)
+                   {
+                       s_32 = *isrc++;
 #if IMAGE_BYTE_ORDER == LSBFirst
                        s_16=s_32&0xffff;
 #else
@@ -1069,6 +1035,7 @@
                        d_16 = *dst;
                        fastCombine0565(maskAlpha, s_16, d_16, *dst++);
                        w-=2;
+                   }
                }
                src=(CARD16 *)isrc;
                if(w!=0)