Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c,v
retrieving revision 1.24
diff -u -p -u -r1.24 radeon_accel.c
--- programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c	2002/01/30 00:53:51	1.24
+++ programs/Xserver/hw/xfree86/drivers/ati/radeon_accel.c	2002/03/22 14:05:53
@@ -605,11 +605,17 @@ static void RADEONSetupForDashedLine(Scr
     unsigned char *RADEONMMIO = info->MMIO;
     CARD32        pat         = *(CARD32 *)(pointer)pattern;
 
+#if X_BYTE_ORDER == X_LITTLE_ENDIAN
+# define PAT_SHIFT(pat,n) pat << n
+#else
+# define PAT_SHIFT(pat,n) pat >> n
+#endif
+
     switch (length) {
-    case  2: pat |= pat <<  2;  /* fall through */
-    case  4: pat |= pat <<  4;  /* fall through */
-    case  8: pat |= pat <<  8;  /* fall through */
-    case 16: pat |= pat << 16;
+    case  2: pat |= PAT_SHIFT(pat,2); /* fall through */
+    case  4: pat |= PAT_SHIFT(pat,4); /* fall through */
+    case  8: pat |= PAT_SHIFT(pat,8); /* fall through */
+    case 16: pat |= PAT_SHIFT(pat,16);
     }
 
     RADEONWaitForFifo(pScrn, 5);

