aboutsummaryrefslogtreecommitdiff
path: root/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-tag-debug-shadow.patch
blob: 108c2b1be7b81273df629ca5c00603b6e560e635 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Index: xorg-server-1.14.4/miext/shadow/shpacked.c
===================================================================
--- xorg-server-1.14.4.orig/miext/shadow/shpacked.c	2013-07-26 00:19:03.000000000 -0500
+++ xorg-server-1.14.4/miext/shadow/shpacked.c	2014-02-03 18:41:33.442014329 -0600
@@ -56,6 +56,9 @@
     int i;
     FbBits *winBase = NULL, *win;
     CARD32 winSize;
+	unsigned int z, byByte, *tmpSrcPtr, *tmpDestPtr;
+	char *tmpCSrcPtr, *tmpCDestPtr;
+
 
     fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff,
                   shaYoff);
@@ -99,7 +102,15 @@
                 width -= i;
                 scr += i;
 #define PickBit(a,i)	(((a) >> (i)) & 1)
-                memcpy(win, sha, i * sizeof(FbBits));
+				//fprintf(stdout,"memcpy %08llx win %08llx sha %08llx size %llx i %llx FbBits\n",win, sha, i* sizeof(FbBits),i , sizeof(FbBits));
+                //memcpy(win, sha, i * sizeof(FbBits));
+				tmpSrcPtr=(unsigned int *)sha;
+				tmpDestPtr=(unsigned int *)win; z=(i * sizeof(FbBits))/4;
+				for (; z; z--) {
+					*tmpDestPtr = *tmpSrcPtr;
+					tmpDestPtr++;
+					tmpSrcPtr++;
+				} for(byByte = (i * sizeof(FbBits))%4, tmpCDestPtr=(char *)tmpDestPtr, tmpCSrcPtr=(char*)tmpSrcPtr; byByte; byByte--) { *tmpCDestPtr = *tmpCSrcPtr; tmpCDestPtr++; tmpCSrcPtr++; }
                 sha += i;
             }
             shaLine += shaStride;