Annotation of /trunk/xorg-old/patches-6.8.2-r10/0485_all_6.8.0-afb-cfb-dlloader-fixes.patch
Parent Directory | Revision Log
Revision 167 -
(hide annotations)
(download)
Tue May 8 20:58:51 2007 UTC (17 years, 1 month ago) by niro
File size: 28674 byte(s)
Tue May 8 20:58:51 2007 UTC (17 years, 1 month ago) by niro
File size: 28674 byte(s)
-import
1 | niro | 167 | https://bugs.freedesktop.org/show_bug.cgi?id=1114 |
2 | http://bugs.gentoo.org/show_bug.cgi?id=61063 | ||
3 | |||
4 | Ferris McCormick: | ||
5 | This is the xorg-x11 patch which allows sunffb+cfb to work with dlloader. | ||
6 | According to ajax, only the sparc graphics drivers still use cfb, so the | ||
7 | change is needed only for sparc+xorg+dlloader, and dlloader is really only | ||
8 | needed for building xorg-hardened. (Without dlloader, xorg+hardened must | ||
9 | actually force 'softening'.) | ||
10 | |||
11 | diff -urN xc.orig/programs/Xserver/afb/afbbres.c xc/programs/Xserver/afb/afbbres.c | ||
12 | --- xc.orig/programs/Xserver/afb/afbbres.c 2004-04-23 11:59:39.000000000 -0700 | ||
13 | +++ xc/programs/Xserver/afb/afbbres.c 2004-12-12 20:34:24.837025688 -0800 | ||
14 | @@ -79,8 +79,8 @@ | ||
15 | register int yinc; /* increment to next scanline, in bytes */ | ||
16 | register PixelType *addrl; /* bitmask long pointer */ | ||
17 | register PixelType bit; /* current bit being set/cleared/etc. */ | ||
18 | - PixelType leftbit = mask[0]; /* leftmost bit to process in new word */ | ||
19 | - PixelType rightbit = mask[PPW-1]; /* rightmost bit to process in new word */ | ||
20 | + PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ | ||
21 | + PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ | ||
22 | |||
23 | register int e3 = e2-e1; | ||
24 | PixelType tmp; | ||
25 | @@ -103,7 +103,7 @@ | ||
26 | addrlbase += sizeDst; /* @@@ NEXT PLANE @@@ */ | ||
27 | len = saveLen; | ||
28 | e = saveE; | ||
29 | - bit = mask[x1 & PIM]; | ||
30 | + bit = mfbGetmask(x1 & PIM); | ||
31 | |||
32 | switch (rrops[d]) { | ||
33 | case RROP_BLACK: | ||
34 | diff -urN xc.orig/programs/Xserver/afb/afbbresd.c xc/programs/Xserver/afb/afbbresd.c | ||
35 | --- xc.orig/programs/Xserver/afb/afbbresd.c 2004-04-23 11:59:39.000000000 -0700 | ||
36 | +++ xc/programs/Xserver/afb/afbbresd.c 2004-12-12 20:34:24.838025536 -0800 | ||
37 | @@ -93,8 +93,8 @@ | ||
38 | register PixelType *addrl; | ||
39 | register int e3 = e2-e1; | ||
40 | register unsigned long bit; | ||
41 | - PixelType leftbit = mask[0]; /* leftmost bit to process in new word */ | ||
42 | - PixelType rightbit = mask[PPW-1]; /* rightmost bit to process in new word */ | ||
43 | + PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ | ||
44 | + PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ | ||
45 | int dashIndex; | ||
46 | int dashOffset; | ||
47 | int dashRemaining; | ||
48 | @@ -125,7 +125,7 @@ | ||
49 | |||
50 | e = saveE; | ||
51 | len = saveLen; | ||
52 | - bit = mask[x1 & PIM]; | ||
53 | + bit = mfbGetmask(x1 & PIM); | ||
54 | |||
55 | rop = fgrop; | ||
56 | if (!isDoubleDash) | ||
57 | diff -urN xc.orig/programs/Xserver/afb/afbclip.c xc/programs/Xserver/afb/afbclip.c | ||
58 | --- xc.orig/programs/Xserver/afb/afbclip.c 2004-04-23 11:59:39.000000000 -0700 | ||
59 | +++ xc/programs/Xserver/afb/afbclip.c 2004-12-12 20:34:24.838025536 -0800 | ||
60 | @@ -102,7 +102,7 @@ | ||
61 | register BoxPtr prectO, prectN; | ||
62 | BoxPtr FirstRect, rects, prectLineStart; | ||
63 | Bool fInBox, fSame; | ||
64 | - register PixelType mask0 = mask[0]; | ||
65 | + register PixelType mask0 = mfbGetmask(0); | ||
66 | PixelType *pwLine; | ||
67 | int nWidth; | ||
68 | |||
69 | diff -urN xc.orig/programs/Xserver/afb/afbhrzvert.c xc/programs/Xserver/afb/afbhrzvert.c | ||
70 | --- xc.orig/programs/Xserver/afb/afbhrzvert.c 2004-04-23 11:59:39.000000000 -0700 | ||
71 | +++ xc/programs/Xserver/afb/afbhrzvert.c 2004-12-12 20:34:24.839025384 -0800 | ||
72 | @@ -186,17 +186,17 @@ | ||
73 | |||
74 | switch (rrops[d]) { | ||
75 | case RROP_BLACK: | ||
76 | - bitmask = rmask[x1 & PIM]; | ||
77 | + bitmask = mfbGetrmask(x1 & PIM); | ||
78 | Duff(len, *addrl &= bitmask; afbScanlineInc(addrl, nlwidth) ); | ||
79 | break; | ||
80 | |||
81 | case RROP_WHITE: | ||
82 | - bitmask = mask[x1 & PIM]; | ||
83 | + bitmask = mfbGetmask(x1 & PIM); | ||
84 | Duff(len, *addrl |= bitmask; afbScanlineInc(addrl, nlwidth) ); | ||
85 | break; | ||
86 | |||
87 | case RROP_INVERT: | ||
88 | - bitmask = mask[x1 & PIM]; | ||
89 | + bitmask = mfbGetmask(x1 & PIM); | ||
90 | Duff(len, *addrl ^= bitmask; afbScanlineInc(addrl, nlwidth) ); | ||
91 | break; | ||
92 | |||
93 | diff -urN xc.orig/programs/Xserver/afb/afbline.c xc/programs/Xserver/afb/afbline.c | ||
94 | --- xc.orig/programs/Xserver/afb/afbline.c 2004-04-23 11:59:39.000000000 -0700 | ||
95 | +++ xc/programs/Xserver/afb/afbline.c 2004-12-12 20:34:24.855022952 -0800 | ||
96 | @@ -401,13 +401,13 @@ | ||
97 | |||
98 | switch(rrops[d]) { | ||
99 | case RROP_BLACK: | ||
100 | - *addrl &= rmask[x2 & PIM]; | ||
101 | + *addrl &= mfbGetrmask(x2 & PIM); | ||
102 | break; | ||
103 | case RROP_WHITE: | ||
104 | - *addrl |= mask[x2 & PIM]; | ||
105 | + *addrl |= mfbGetmask(x2 & PIM); | ||
106 | break; | ||
107 | case RROP_INVERT: | ||
108 | - *addrl ^= mask[x2 & PIM]; | ||
109 | + *addrl ^= mfbGetmask(x2 & PIM); | ||
110 | break; | ||
111 | case RROP_NOP: | ||
112 | break; | ||
113 | @@ -679,14 +679,14 @@ | ||
114 | |||
115 | switch (rop) { | ||
116 | case RROP_BLACK: | ||
117 | - *addrl &= rmask[x2 & PIM]; | ||
118 | + *addrl &= mfbGetrmask(x2 & PIM); | ||
119 | break; | ||
120 | case RROP_WHITE: | ||
121 | - *addrl |= mask[x2 & PIM]; | ||
122 | + *addrl |= mfbGetmask(x2 & PIM); | ||
123 | break; | ||
124 | |||
125 | case RROP_INVERT: | ||
126 | - *addrl ^= mask[x2 & PIM]; | ||
127 | + *addrl ^= mfbGetmask(x2 & PIM); | ||
128 | break; | ||
129 | |||
130 | case RROP_NOP: | ||
131 | diff -urN xc.orig/programs/Xserver/afb/afbmodule.c xc/programs/Xserver/afb/afbmodule.c | ||
132 | --- xc.orig/programs/Xserver/afb/afbmodule.c 2004-04-23 11:59:39.000000000 -0700 | ||
133 | +++ xc/programs/Xserver/afb/afbmodule.c 2004-12-12 20:34:24.859022344 -0800 | ||
134 | @@ -30,6 +30,8 @@ | ||
135 | #include "xf86Module.h" | ||
136 | #include "afb.h" | ||
137 | |||
138 | +static MODULESETUPPROTO(afbSetup); | ||
139 | + | ||
140 | static XF86ModuleVersionInfo VersRec = | ||
141 | { | ||
142 | "afb", | ||
143 | @@ -44,6 +46,14 @@ | ||
144 | {0,0,0,0} /* signature, to be patched into the file by a tool */ | ||
145 | }; | ||
146 | |||
147 | -XF86ModuleData afbModuleData = { &VersRec, NULL, NULL }; | ||
148 | +XF86ModuleData afbModuleData = { &VersRec, afbSetup, NULL }; | ||
149 | + | ||
150 | +static pointer | ||
151 | +afbSetup(pointer module, pointer opts, int *errmaj, int *errmin) | ||
152 | +{ | ||
153 | + /* This modules requires mfb, so load it */ | ||
154 | + return LoadSubModule(module, "mfb", NULL, NULL, NULL, NULL, | ||
155 | + errmaj, errmin); | ||
156 | +} | ||
157 | |||
158 | #endif | ||
159 | diff -urN xc.orig/programs/Xserver/afb/afbpixmap.c xc/programs/Xserver/afb/afbpixmap.c | ||
160 | --- xc.orig/programs/Xserver/afb/afbpixmap.c 2004-04-23 11:59:39.000000000 -0700 | ||
161 | +++ xc/programs/Xserver/afb/afbpixmap.c 2004-12-12 20:34:24.860022192 -0800 | ||
162 | @@ -164,7 +164,7 @@ | ||
163 | if (rep*width != PPW) | ||
164 | return; | ||
165 | |||
166 | - mask = endtab[width]; | ||
167 | + mask = mfbGetendtab(width); | ||
168 | |||
169 | p = (PixelType *)(pPixmap->devPrivate.ptr); | ||
170 | |||
171 | @@ -206,7 +206,7 @@ | ||
172 | while(pw < pwFinal) { | ||
173 | t = *pw; | ||
174 | *pw++ = SCRRIGHT(t, rw) | | ||
175 | - (SCRLEFT(t, (PPW-rw)) & endtab[rw]); | ||
176 | + (SCRLEFT(t, (PPW-rw)) & mfbGetendtab(rw)); | ||
177 | } | ||
178 | } else { | ||
179 | /* We no longer do this. Validate doesn't try to rotate odd-size | ||
180 | diff -urN xc.orig/programs/Xserver/afb/afbpolypnt.c xc/programs/Xserver/afb/afbpolypnt.c | ||
181 | --- xc.orig/programs/Xserver/afb/afbpolypnt.c 2004-04-23 11:59:39.000000000 -0700 | ||
182 | +++ xc/programs/Xserver/afb/afbpolypnt.c 2004-12-12 20:34:24.861022040 -0800 | ||
183 | @@ -113,7 +113,7 @@ | ||
184 | y = ppt->y + pDrawable->y; | ||
185 | if ((x >= pbox->x1) && (x < pbox->x2) && | ||
186 | (y >= pbox->y1) && (y < pbox->y2)) | ||
187 | - *afbScanline(addrl, x, y, nlwidth) &= rmask[x & PIM]; | ||
188 | + *afbScanline(addrl, x, y, nlwidth) &= mfbGetrmask(x & PIM); | ||
189 | } | ||
190 | break; | ||
191 | |||
192 | @@ -123,7 +123,7 @@ | ||
193 | y = ppt->y + pDrawable->y; | ||
194 | if ((x >= pbox->x1) && (x < pbox->x2) && | ||
195 | (y >= pbox->y1) && (y < pbox->y2)) | ||
196 | - *afbScanline(addrl, x, y, nlwidth) |= mask[x & PIM]; | ||
197 | + *afbScanline(addrl, x, y, nlwidth) |= mfbGetmask(x & PIM); | ||
198 | } | ||
199 | break; | ||
200 | |||
201 | @@ -133,7 +133,7 @@ | ||
202 | y = ppt->y + pDrawable->y; | ||
203 | if ((x >= pbox->x1) && (x < pbox->x2) && | ||
204 | (y >= pbox->y1) && (y < pbox->y2)) | ||
205 | - *afbScanline(addrl, x, y, nlwidth) ^= mask[x & PIM]; | ||
206 | + *afbScanline(addrl, x, y, nlwidth) ^= mfbGetmask(x & PIM); | ||
207 | } | ||
208 | break; | ||
209 | |||
210 | diff -urN xc.orig/programs/Xserver/afb/afbpushpxl.c xc/programs/Xserver/afb/afbpushpxl.c | ||
211 | --- xc.orig/programs/Xserver/afb/afbpushpxl.c 2004-04-23 11:59:39.000000000 -0700 | ||
212 | +++ xc/programs/Xserver/afb/afbpushpxl.c 2004-12-12 20:34:24.861022040 -0800 | ||
213 | @@ -184,7 +184,7 @@ | ||
214 | pwEnd = pwLineStart + dxDivPPW; | ||
215 | while(pw < pwEnd) { | ||
216 | w = *pw; | ||
217 | - mask = endtab[1]; | ||
218 | + mask = mfbGetendtab(1); | ||
219 | for(ib = 0; ib < PPW; ib++) { | ||
220 | if(w & mask) { | ||
221 | if(!fInBox) { | ||
222 | @@ -214,7 +214,7 @@ | ||
223 | if(ibEnd) { | ||
224 | /* Process final partial word on line */ | ||
225 | w = *pw; | ||
226 | - mask = endtab[1]; | ||
227 | + mask = mfbGetendtab(1); | ||
228 | for(ib = 0; ib < ibEnd; ib++) { | ||
229 | if(w & mask) { | ||
230 | if(!fInBox) { | ||
231 | diff -urN xc.orig/programs/Xserver/afb/afbtegblt.c xc/programs/Xserver/afb/afbtegblt.c | ||
232 | --- xc.orig/programs/Xserver/afb/afbtegblt.c 2004-04-23 11:59:39.000000000 -0700 | ||
233 | +++ xc/programs/Xserver/afb/afbtegblt.c 2004-12-12 20:34:24.862021888 -0800 | ||
234 | @@ -296,7 +296,7 @@ | ||
235 | widthGlyphs = widthGlyph * PGSZB; | ||
236 | |||
237 | #ifdef USE_LEFTBITS | ||
238 | - glyphMask = endtab[widthGlyph]; | ||
239 | + glyphMask = mfbGetendtab(widthGlyph); | ||
240 | glyphBytes = GLYPHWIDTHBYTESPADDED(*ppci); | ||
241 | #endif | ||
242 | |||
243 | diff -urN xc.orig/programs/Xserver/cfb/Imakefile.inc xc/programs/Xserver/cfb/Imakefile.inc | ||
244 | --- xc.orig/programs/Xserver/cfb/Imakefile.inc 2004-04-25 19:39:58.000000000 -0700 | ||
245 | +++ xc/programs/Xserver/cfb/Imakefile.inc 2004-12-12 20:34:24.863021736 -0800 | ||
246 | @@ -65,6 +65,7 @@ | ||
247 | XFMODOBJ = cfbmodule.o | ||
248 | #endif | ||
249 | |||
250 | +XCOMM THIS IS STUPID | ||
251 | #if !(defined(IHaveModules) && defined(LinkDirectory)) | ||
252 | CFBCMAP = cfbcmap.o | ||
253 | #endif | ||
254 | @@ -91,7 +92,7 @@ | ||
255 | cfbtileoddC.o cfbtileoddG.o cfbtile32C.o cfbtile32G.o \ | ||
256 | cfbfillsp.o cfbsetsp.o cfbscrinit.o cfballpriv.o \ | ||
257 | cfbpntwin.o cfbmskbits.o cfbpixmap.o \ | ||
258 | - $(CFBCMAP) cfbzerarcC.o cfbzerarcX.o cfbzerarcG.o \ | ||
259 | + cfbcmap.o cfbzerarcC.o cfbzerarcX.o cfbzerarcG.o \ | ||
260 | cfbfillarcC.o cfbfillarcG.o \ | ||
261 | cfbigblt8.o cfbglblt8.o cfbtegblt.o cfbbstore.o \ | ||
262 | cfbpolypnt.o \ | ||
263 | diff -urN xc.orig/programs/Xserver/cfb/cfballpriv.c xc/programs/Xserver/cfb/cfballpriv.c | ||
264 | --- xc.orig/programs/Xserver/cfb/cfballpriv.c 2004-04-23 12:00:12.000000000 -0700 | ||
265 | +++ xc/programs/Xserver/cfb/cfballpriv.c 2004-12-12 20:34:24.863021736 -0800 | ||
266 | @@ -42,7 +42,7 @@ | ||
267 | #include "cfbmskbits.h" | ||
268 | #include "mibstore.h" | ||
269 | |||
270 | -#if PSZ==8 | ||
271 | +#if 1 || PSZ==8 | ||
272 | int cfbWindowPrivateIndex; | ||
273 | int cfbGCPrivateIndex; | ||
274 | #endif | ||
275 | diff -urN xc.orig/programs/Xserver/cfb/cfbbitblt.c xc/programs/Xserver/cfb/cfbbitblt.c | ||
276 | --- xc.orig/programs/Xserver/cfb/cfbbitblt.c 2004-04-23 12:00:12.000000000 -0700 | ||
277 | +++ xc/programs/Xserver/cfb/cfbbitblt.c 2004-12-12 20:34:24.864021584 -0800 | ||
278 | @@ -973,15 +973,15 @@ | ||
279 | #else /* PSZ == 8 */ | ||
280 | |||
281 | #define mfbmaskbits(x, w, startmask, endmask, nlw) \ | ||
282 | - startmask = starttab[(x)&0x1f]; \ | ||
283 | - endmask = endtab[((x)+(w)) & 0x1f]; \ | ||
284 | + startmask = mfbGetstarttab((x)&0x1f); \ | ||
285 | + endmask = mfbGetendtab(((x)+(w)) & 0x1f); \ | ||
286 | if (startmask) \ | ||
287 | nlw = (((w) - (32 - ((x)&0x1f))) >> 5); \ | ||
288 | else \ | ||
289 | nlw = (w) >> 5; | ||
290 | |||
291 | #define mfbmaskpartialbits(x, w, mask) \ | ||
292 | - mask = partmasks[(x)&0x1f][(w)&0x1f]; | ||
293 | + mask = mfbGetpartmasks((x)&0x1f,(w)&0x1f); | ||
294 | |||
295 | #define LeftMost 0 | ||
296 | #define StepBit(bit, inc) ((bit) += (inc)) | ||
297 | @@ -1389,7 +1389,7 @@ | ||
298 | |||
299 | oldalu = pGC->alu; | ||
300 | if ((pGC->fgPixel & 1) == 0 && (pGC->bgPixel&1) == 1) | ||
301 | - pGC->alu = InverseAlu[pGC->alu]; | ||
302 | + pGC->alu = mfbGetInverseAlu(pGC->alu); | ||
303 | else if ((pGC->fgPixel & 1) == (pGC->bgPixel & 1)) | ||
304 | pGC->alu = mfbReduceRop(pGC->alu, pGC->fgPixel); | ||
305 | ret = cfbCopyPlaneReduce(pSrcDrawable, pDstDrawable, | ||
306 | diff -urN xc.orig/programs/Xserver/cfb/cfbcppl.c xc/programs/Xserver/cfb/cfbcppl.c | ||
307 | --- xc.orig/programs/Xserver/cfb/cfbcppl.c 2004-04-23 12:00:12.000000000 -0700 | ||
308 | +++ xc/programs/Xserver/cfb/cfbcppl.c 2004-12-12 20:34:24.865021432 -0800 | ||
309 | @@ -245,15 +245,15 @@ | ||
310 | #else /* PSZ == 8 */ | ||
311 | |||
312 | #define mfbmaskbits(x, w, startmask, endmask, nlw) \ | ||
313 | - startmask = starttab[(x)&0x1f]; \ | ||
314 | - endmask = endtab[((x)+(w)) & 0x1f]; \ | ||
315 | + startmask = mfbGetstarttab((x)&0x1f); \ | ||
316 | + endmask = mfbGetendtab(((x)+(w)) & 0x1f); \ | ||
317 | if (startmask) \ | ||
318 | nlw = (((w) - (32 - ((x)&0x1f))) >> 5); \ | ||
319 | else \ | ||
320 | nlw = (w) >> 5; | ||
321 | |||
322 | #define mfbmaskpartialbits(x, w, mask) \ | ||
323 | - mask = partmasks[(x)&0x1f][(w)&0x1f]; | ||
324 | + mask = mfbGetpartmasks((x)&0x1f,(w)&0x1f); | ||
325 | |||
326 | #define LeftMost 0 | ||
327 | #define StepBit(bit, inc) ((bit) += (inc)) | ||
328 | diff -urN xc.orig/programs/Xserver/cfb/cfbgc.c xc/programs/Xserver/cfb/cfbgc.c | ||
329 | --- xc.orig/programs/Xserver/cfb/cfbgc.c 2004-04-23 12:00:12.000000000 -0700 | ||
330 | +++ xc/programs/Xserver/cfb/cfbgc.c 2004-12-12 20:34:24.866021280 -0800 | ||
331 | @@ -85,11 +85,13 @@ | ||
332 | # define usePolyGlyphBlt miPolyGlyphBlt | ||
333 | #endif | ||
334 | |||
335 | +void cfbUnPushPixels (GCPtr, PixmapPtr, DrawablePtr, int, int, int, int); | ||
336 | + | ||
337 | #ifdef FOUR_BIT_CODE | ||
338 | # define usePushPixels cfbPushPixels8 | ||
339 | #else | ||
340 | #ifndef LOWMEMFTPT | ||
341 | -# define usePushPixels mfbPushPixels | ||
342 | +# define usePushPixels cfbUnPushPixels | ||
343 | #else | ||
344 | # define usePushPixels miPushPixels | ||
345 | #endif /* ifndef LOWMEMFTPT */ | ||
346 | @@ -284,6 +286,14 @@ | ||
347 | pGC->clientClip = NULL; | ||
348 | pGC->clientClipType = CT_NONE; | ||
349 | |||
350 | + if (cfbNonTEOps.PushPixels == cfbUnPushPixels) | ||
351 | + { | ||
352 | + cfbTEOps1Rect.PushPixels = mfbPushPixelsWeak(); | ||
353 | + cfbNonTEOps1Rect.PushPixels = mfbPushPixelsWeak(); | ||
354 | + cfbTEOps.PushPixels = mfbPushPixelsWeak(); | ||
355 | + cfbNonTEOps.PushPixels = mfbPushPixelsWeak(); | ||
356 | + } | ||
357 | + | ||
358 | /* | ||
359 | * some of the output primitives aren't really necessary, since they | ||
360 | * will be filled in ValidateGC because of dix/CreateGC() setting all | ||
361 | @@ -767,7 +777,7 @@ | ||
362 | #endif | ||
363 | #ifdef FOUR_BIT_CODE | ||
364 | #ifndef LOWMEMFTPT | ||
365 | - pGC->ops->PushPixels = mfbPushPixels; | ||
366 | + pGC->ops->PushPixels = mfbPushPixelsWeak(); | ||
367 | #else | ||
368 | pGC->ops->PushPixels = miPushPixels; | ||
369 | #endif /* ifndef LOWMEMFTPT */ | ||
370 | @@ -789,3 +799,17 @@ | ||
371 | } | ||
372 | } | ||
373 | } | ||
374 | + | ||
375 | +/* | ||
376 | + * this is never called, it just exists to have its address | ||
377 | + * taken in mfbCreateGC. | ||
378 | + */ | ||
379 | +static void | ||
380 | +cfbUnPushPixels (pGC, pBitmap, pDrawable, dx, dy, xOrg, yOrg) | ||
381 | + GCPtr pGC; | ||
382 | + PixmapPtr pBitmap; | ||
383 | + DrawablePtr pDrawable; | ||
384 | + int dx, dy, xOrg, yOrg; | ||
385 | +{ | ||
386 | + return; | ||
387 | +} | ||
388 | diff -urN xc.orig/programs/Xserver/cfb/cfbglblt8.c xc/programs/Xserver/cfb/cfbglblt8.c | ||
389 | --- xc.orig/programs/Xserver/cfb/cfbglblt8.c 2004-04-23 12:00:12.000000000 -0700 | ||
390 | +++ xc/programs/Xserver/cfb/cfbglblt8.c 2004-12-12 20:34:24.867021128 -0800 | ||
391 | @@ -64,7 +64,6 @@ | ||
392 | |||
393 | #ifdef USE_LEFTBITS | ||
394 | typedef unsigned char *glyphPointer; | ||
395 | -extern CfbBits endtab[]; | ||
396 | |||
397 | #define GlyphBits(bits,width,dst) getleftbits(bits,width,dst); \ | ||
398 | (dst) &= widthMask; \ | ||
399 | @@ -251,7 +250,7 @@ | ||
400 | #ifdef USE_LEFTBITS | ||
401 | w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing; | ||
402 | widthGlyph = PADGLYPHWIDTHBYTES(w); | ||
403 | - widthMask = endtab[w]; | ||
404 | + widthMask = mfbGetendtab(w); | ||
405 | #endif | ||
406 | do { | ||
407 | dst = dstLine; | ||
408 | @@ -380,7 +379,7 @@ | ||
409 | #ifdef USE_LEFTBITS | ||
410 | w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing; | ||
411 | widthGlyph = PADGLYPHWIDTHBYTES(w); | ||
412 | - widthMask = endtab[w]; | ||
413 | + widthMask = mfbGetendtab(w); | ||
414 | #endif | ||
415 | switch (cfb8ComputeClipMasks32 (pBox, numRects, xG, yG, w, hTmp, clips)) | ||
416 | { | ||
417 | diff -urN xc.orig/programs/Xserver/cfb/cfbmap.h xc/programs/Xserver/cfb/cfbmap.h | ||
418 | --- xc.orig/programs/Xserver/cfb/cfbmap.h 2004-04-23 12:00:12.000000000 -0700 | ||
419 | +++ xc/programs/Xserver/cfb/cfbmap.h 2004-12-12 20:34:24.867021128 -0800 | ||
420 | @@ -94,13 +94,17 @@ | ||
421 | #undef cfbFillSpanTileOddGeneral | ||
422 | #undef cfbFinishScreenInit | ||
423 | #undef cfbGCFuncs | ||
424 | +#undef cfbGCPrivateIndex | ||
425 | #undef cfbGetImage | ||
426 | #undef cfbGetScreenPixmap | ||
427 | #undef cfbGetSpans | ||
428 | #undef cfbHorzS | ||
429 | #undef cfbImageGlyphBlt8 | ||
430 | +#undef cfbInitializeColormap | ||
431 | +#undef cfbInstallColormap | ||
432 | #undef cfbLineSD | ||
433 | #undef cfbLineSS | ||
434 | +#undef cfbListInstalledColormaps | ||
435 | #undef cfbMapWindow | ||
436 | #undef cfbMatchCommon | ||
437 | #undef cfbNonTEOps | ||
438 | @@ -116,6 +120,7 @@ | ||
439 | #undef cfbPositionWindow | ||
440 | #undef cfbPutImage | ||
441 | #undef cfbReduceRasterOp | ||
442 | +#undef cfbResolveColor | ||
443 | #undef cfbRestoreAreas | ||
444 | #undef cfbSaveAreas | ||
445 | #undef cfbScreenInit | ||
446 | @@ -136,11 +141,13 @@ | ||
447 | #undef cfbTEOps1Rect | ||
448 | #undef cfbTile32FSCopy | ||
449 | #undef cfbTile32FSGeneral | ||
450 | +#undef cfbUninstallColormap | ||
451 | #undef cfbUnmapWindow | ||
452 | #undef cfbUnnaturalStippleFS | ||
453 | #undef cfbUnnaturalTileFS | ||
454 | #undef cfbValidateGC | ||
455 | #undef cfbVertS | ||
456 | +#undef cfbWindowPrivateIndex | ||
457 | #undef cfbXRotatePixmap | ||
458 | #undef cfbYRotatePixmap | ||
459 | #undef cfbZeroPolyArcSS8Copy | ||
460 | @@ -263,13 +270,17 @@ | ||
461 | #define cfbFillSpanTileOddGeneral CFBNAME(FillSpanTileOddGeneral) | ||
462 | #define cfbFinishScreenInit CFBNAME(FinishScreenInit) | ||
463 | #define cfbGCFuncs CFBNAME(GCFuncs) | ||
464 | +#define cfbGCPrivateIndex CFBNAME(GCPrivateIndex) | ||
465 | #define cfbGetImage CFBNAME(GetImage) | ||
466 | #define cfbGetScreenPixmap CFBNAME(GetScreenPixmap) | ||
467 | #define cfbGetSpans CFBNAME(GetSpans) | ||
468 | #define cfbHorzS CFBNAME(HorzS) | ||
469 | #define cfbImageGlyphBlt8 CFBNAME(ImageGlyphBlt8) | ||
470 | +#define cfbInitializeColormap CFBNAME(InitializeColormap) | ||
471 | +#define cfbInstallColormap CFBNAME(InstallColormap) | ||
472 | #define cfbLineSD CFBNAME(LineSD) | ||
473 | #define cfbLineSS CFBNAME(LineSS) | ||
474 | +#define cfbListInstalledColormaps CFBNAME(ListInstalledColormaps) | ||
475 | #define cfbMapWindow CFBNAME(MapWindow) | ||
476 | #define cfbMatchCommon CFBNAME(MatchCommon) | ||
477 | #define cfbNonTEOps CFBNAME(NonTEOps) | ||
478 | @@ -285,6 +296,7 @@ | ||
479 | #define cfbPositionWindow CFBNAME(PositionWindow) | ||
480 | #define cfbPutImage CFBNAME(PutImage) | ||
481 | #define cfbReduceRasterOp CFBNAME(ReduceRasterOp) | ||
482 | +#define cfbResolveColor CFBNAME(ResolveColor) | ||
483 | #define cfbRestoreAreas CFBNAME(RestoreAreas) | ||
484 | #define cfbSaveAreas CFBNAME(SaveAreas) | ||
485 | #define cfbScreenInit CFBNAME(ScreenInit) | ||
486 | @@ -305,11 +317,13 @@ | ||
487 | #define cfbTEOps1Rect CFBNAME(TEOps1Rect) | ||
488 | #define cfbTile32FSCopy CFBNAME(Tile32FSCopy) | ||
489 | #define cfbTile32FSGeneral CFBNAME(Tile32FSGeneral) | ||
490 | +#define cfbUninstallColormap CFBNAME(UninstallColormap) | ||
491 | #define cfbUnmapWindow CFBNAME(UnmapWindow) | ||
492 | #define cfbUnnaturalStippleFS CFBNAME(UnnaturalStippleFS) | ||
493 | #define cfbUnnaturalTileFS CFBNAME(UnnaturalTileFS) | ||
494 | #define cfbValidateGC CFBNAME(ValidateGC) | ||
495 | #define cfbVertS CFBNAME(VertS) | ||
496 | +#define cfbWindowPrivateIndex CFBNAME(WindowPrivateIndex) | ||
497 | #define cfbXRotatePixmap CFBNAME(XRotatePixmap) | ||
498 | #define cfbYRotatePixmap CFBNAME(YRotatePixmap) | ||
499 | #define cfbZeroPolyArcSS8Copy CFBNAME(ZeroPolyArcSSCopy) | ||
500 | diff -urN xc.orig/programs/Xserver/cfb/cfbpixmap.c xc/programs/Xserver/cfb/cfbpixmap.c | ||
501 | --- xc.orig/programs/Xserver/cfb/cfbpixmap.c 2004-04-23 12:00:12.000000000 -0700 | ||
502 | +++ xc/programs/Xserver/cfb/cfbpixmap.c 2004-12-12 20:34:24.868020976 -0800 | ||
503 | @@ -60,8 +60,6 @@ | ||
504 | #include "cfb.h" | ||
505 | #include "cfbmskbits.h" | ||
506 | |||
507 | -extern CfbBits endtab[]; | ||
508 | - | ||
509 | PixmapPtr | ||
510 | cfbCreatePixmap (pScreen, width, height, depth) | ||
511 | ScreenPtr pScreen; | ||
512 | @@ -160,7 +158,7 @@ | ||
513 | if (rep*width != PGSZ) | ||
514 | return; | ||
515 | |||
516 | - mask = endtab[width]; | ||
517 | + mask = mfbGetendtab(width); | ||
518 | |||
519 | p = (CfbBits *)(pPixmap->devPrivate.ptr); | ||
520 | for (h=0; h < pPixmap->drawable.height; h++) | ||
521 | diff -urN xc.orig/programs/Xserver/cfb/cfbscrinit.c xc/programs/Xserver/cfb/cfbscrinit.c | ||
522 | --- xc.orig/programs/Xserver/cfb/cfbscrinit.c 2004-04-23 12:00:12.000000000 -0700 | ||
523 | +++ xc/programs/Xserver/cfb/cfbscrinit.c 2004-12-12 20:34:24.868020976 -0800 | ||
524 | @@ -99,7 +99,7 @@ | ||
525 | pScreen->defColormap = FakeClientID(0); | ||
526 | /* let CreateDefColormap do whatever it wants for pixels */ | ||
527 | pScreen->blackPixel = pScreen->whitePixel = (Pixel) 0; | ||
528 | - pScreen->QueryBestSize = mfbQueryBestSize; | ||
529 | + pScreen->QueryBestSize = mfbQueryBestSizeWeak(); | ||
530 | /* SaveScreen */ | ||
531 | pScreen->GetImage = cfbGetImage; | ||
532 | pScreen->GetSpans = cfbGetSpans; | ||
533 | @@ -114,8 +114,8 @@ | ||
534 | pScreen->CopyWindow = cfbCopyWindow; | ||
535 | pScreen->CreatePixmap = cfbCreatePixmap; | ||
536 | pScreen->DestroyPixmap = cfbDestroyPixmap; | ||
537 | - pScreen->RealizeFont = mfbRealizeFont; | ||
538 | - pScreen->UnrealizeFont = mfbUnrealizeFont; | ||
539 | + pScreen->RealizeFont = mfbRealizeFontWeak(); | ||
540 | + pScreen->UnrealizeFont = mfbUnrealizeFontWeak(); | ||
541 | pScreen->CreateGC = cfbCreateGC; | ||
542 | pScreen->CreateColormap = cfbInitializeColormap; | ||
543 | pScreen->DestroyColormap = DestroyColormapNoop; | ||
544 | @@ -124,7 +124,7 @@ | ||
545 | pScreen->ListInstalledColormaps = cfbListInstalledColormaps; | ||
546 | pScreen->StoreColors = StoreColorsNoop; | ||
547 | pScreen->ResolveColor = cfbResolveColor; | ||
548 | - pScreen->BitmapToRegion = mfbPixmapToRegion; | ||
549 | + pScreen->BitmapToRegion = mfbPixmapToRegionWeak(); | ||
550 | |||
551 | mfbRegisterCopyPlaneProc (pScreen, cfbCopyPlane); | ||
552 | return TRUE; | ||
553 | diff -urN xc.orig/programs/Xserver/cfb/cfbtab.h xc/programs/Xserver/cfb/cfbtab.h | ||
554 | --- xc.orig/programs/Xserver/cfb/cfbtab.h 2004-04-23 12:00:12.000000000 -0700 | ||
555 | +++ xc/programs/Xserver/cfb/cfbtab.h 2004-12-12 20:34:24.869020824 -0800 | ||
556 | @@ -4,7 +4,9 @@ | ||
557 | #define _CFBTAB_H_ | ||
558 | |||
559 | /* prototypes */ | ||
560 | +#if 0 | ||
561 | extern int starttab[32], endtab[32]; | ||
562 | extern unsigned int partmasks[32][32]; | ||
563 | +#endif | ||
564 | |||
565 | #endif /* _CFBTAB_H_ */ | ||
566 | diff -urN xc.orig/programs/Xserver/cfb/cfbteblt8.c xc/programs/Xserver/cfb/cfbteblt8.c | ||
567 | --- xc.orig/programs/Xserver/cfb/cfbteblt8.c 2004-04-23 12:00:12.000000000 -0700 | ||
568 | +++ xc/programs/Xserver/cfb/cfbteblt8.c 2004-12-12 20:34:24.869020824 -0800 | ||
569 | @@ -160,7 +160,6 @@ | ||
570 | #endif | ||
571 | |||
572 | #ifdef USE_LEFTBITS | ||
573 | -extern CfbBits endtab[]; | ||
574 | |||
575 | #define IncChar(c) (c = (glyphPointer) (((char *) c) + glyphBytes)) | ||
576 | |||
577 | @@ -408,7 +407,7 @@ | ||
578 | #endif | ||
579 | |||
580 | #ifdef USE_LEFTBITS | ||
581 | - glyphMask = endtab[widthGlyph]; | ||
582 | + glyphMask = mfbGetendtab(widthGlyph); | ||
583 | glyphBytes = GLYPHWIDTHBYTESPADDED(*ppci); | ||
584 | #endif | ||
585 | |||
586 | diff -urN xc.orig/programs/Xserver/cfb/cfbunmap.h xc/programs/Xserver/cfb/cfbunmap.h | ||
587 | --- xc.orig/programs/Xserver/cfb/cfbunmap.h 2003-11-25 11:28:27.000000000 -0800 | ||
588 | +++ xc/programs/Xserver/cfb/cfbunmap.h 2004-12-12 20:34:24.871020520 -0800 | ||
589 | @@ -93,13 +93,17 @@ | ||
590 | #undef cfbFillSpanTileOddGeneral | ||
591 | #undef cfbFinishScreenInit | ||
592 | #undef cfbGCFuncs | ||
593 | +#undef cfbGCPrivateIndex | ||
594 | #undef cfbGetImage | ||
595 | #undef cfbGetScreenPixmap | ||
596 | #undef cfbGetSpans | ||
597 | #undef cfbHorzS | ||
598 | #undef cfbImageGlyphBlt8 | ||
599 | +#undef cfbInitializeColormap | ||
600 | +#undef cfbInstallColormap | ||
601 | #undef cfbLineSD | ||
602 | #undef cfbLineSS | ||
603 | +#undef cfbListInstalledColormaps | ||
604 | #undef cfbMapWindow | ||
605 | #undef cfbMatchCommon | ||
606 | #undef cfbNonTEOps | ||
607 | @@ -115,6 +119,7 @@ | ||
608 | #undef cfbPositionWindow | ||
609 | #undef cfbPutImage | ||
610 | #undef cfbReduceRasterOp | ||
611 | +#undef cfbResolveColor | ||
612 | #undef cfbRestoreAreas | ||
613 | #undef cfbSaveAreas | ||
614 | #undef cfbScreenInit | ||
615 | @@ -135,11 +140,13 @@ | ||
616 | #undef cfbTEOps1Rect | ||
617 | #undef cfbTile32FSCopy | ||
618 | #undef cfbTile32FSGeneral | ||
619 | +#undef cfbUninstallColormap | ||
620 | #undef cfbUnmapWindow | ||
621 | #undef cfbUnnaturalStippleFS | ||
622 | #undef cfbUnnaturalTileFS | ||
623 | #undef cfbValidateGC | ||
624 | #undef cfbVertS | ||
625 | +#undef cfbWindowPrivateIndex | ||
626 | #undef cfbXRotatePixmap | ||
627 | #undef cfbYRotatePixmap | ||
628 | #undef cfbZeroPolyArcSS8Copy | ||
629 | diff -urN xc.orig/programs/Xserver/mfb/maskbits.c xc/programs/Xserver/mfb/maskbits.c | ||
630 | --- xc.orig/programs/Xserver/mfb/maskbits.c 2004-07-30 13:30:57.000000000 -0700 | ||
631 | +++ xc/programs/Xserver/mfb/maskbits.c 2004-12-12 20:34:24.873020216 -0800 | ||
632 | @@ -1053,5 +1053,9 @@ | ||
633 | { O,O,O,I, }, /* set 0xf 1 */ | ||
634 | }; | ||
635 | |||
636 | +mergeRopPtr mergeGetRopBits(int i) { | ||
637 | + return &mergeRopBits[i]; | ||
638 | +} | ||
639 | + | ||
640 | #undef O | ||
641 | #undef I | ||
642 | diff -urN xc.orig/programs/Xserver/mfb/maskbits.h xc/programs/Xserver/mfb/maskbits.h | ||
643 | --- xc.orig/programs/Xserver/mfb/maskbits.h 2004-07-30 13:30:57.000000000 -0700 | ||
644 | +++ xc/programs/Xserver/mfb/maskbits.h 2004-12-12 20:34:24.874020064 -0800 | ||
645 | @@ -396,7 +396,7 @@ | ||
646 | else \ | ||
647 | { \ | ||
648 | register int d = PPW-(x); \ | ||
649 | - *(pdst) = (*(pdst) & endtab[x]) | (SCRRIGHT((src), x)); \ | ||
650 | + *(pdst) = (*(pdst) & mfbGetendtab(x)) | (SCRRIGHT((src), x)); \ | ||
651 | (pdst)[1] = ((pdst)[1] & mfbGetstarttab(n)) | \ | ||
652 | (SCRLEFT(src, d) & mfbGetendtab(n)); \ | ||
653 | } \ | ||
654 | diff -urN xc.orig/programs/Xserver/mfb/mergerop.h xc/programs/Xserver/mfb/mergerop.h | ||
655 | --- xc.orig/programs/Xserver/mfb/mergerop.h 2004-04-23 12:54:25.000000000 -0700 | ||
656 | +++ xc/programs/Xserver/mfb/mergerop.h 2004-12-12 20:34:24.875019912 -0800 | ||
657 | @@ -39,6 +39,7 @@ | ||
658 | } mergeRopRec, *mergeRopPtr; | ||
659 | |||
660 | extern mergeRopRec mergeRopBits[16]; | ||
661 | +extern mergeRopPtr mergeGetRopBits(int i); | ||
662 | |||
663 | #if defined(PPW) && defined(PGSZ) && (PPW != PGSZ) /* cfb */ | ||
664 | #define DeclareMergeRop() MfbBits _ca1 = 0, _cx1 = 0, _ca2 = 0, _cx2 = 0; | ||
665 | @@ -59,7 +60,7 @@ | ||
666 | MfbBits _pm; \ | ||
667 | mergeRopPtr _bits; \ | ||
668 | _pm = PFILL(pm); \ | ||
669 | - _bits = &mergeRopBits[alu]; \ | ||
670 | + _bits = mergeGetRopBits(alu); \ | ||
671 | _ca1 = _bits->ca1 & _pm; \ | ||
672 | _cx1 = _bits->cx1 | ~_pm; \ | ||
673 | _ca2 = _bits->ca2 & _pm; \ | ||
674 | @@ -70,7 +71,7 @@ | ||
675 | #define InitializeMergeRop24(alu,pm) {\ | ||
676 | register int i; \ | ||
677 | register MfbBits _pm = (pm) & 0xFFFFFF; \ | ||
678 | - mergeRopPtr _bits = &mergeRopBits[alu]; \ | ||
679 | + mergeRopPtr _bits = mergeGetRopBits(alu); \ | ||
680 | MfbBits _bits_ca1 = _bits->ca1; \ | ||
681 | MfbBits _bits_cx1 = _bits->cx1; \ | ||
682 | MfbBits _bits_ca2 = _bits->ca2; \ | ||
683 | @@ -88,7 +89,7 @@ | ||
684 | #define InitializeMergeRop24(alu,pm) {\ | ||
685 | register int i; \ | ||
686 | register MfbBits _pm = (pm) & cfbmask[0]; \ | ||
687 | - mergeRopPtr _bits = &mergeRopBits[alu]; \ | ||
688 | + mergeRopPtr _bits = mergeGetRopBits(alu); \ | ||
689 | MfbBits _bits_ca1 = _bits->ca1 & cfbmask[0]; \ | ||
690 | MfbBits _bits_cx1 = _bits->cx1 & cfbmask[0]; \ | ||
691 | MfbBits _bits_ca2 = _bits->ca2 & cfbmask[0]; \ | ||
692 | @@ -111,7 +112,7 @@ | ||
693 | #else /* mfb */ | ||
694 | #define InitializeMergeRop(alu,pm) {\ | ||
695 | mergeRopPtr _bits; \ | ||
696 | - _bits = &mergeRopBits[alu]; \ | ||
697 | + _bits = mergeGetRopBits(alu); \ | ||
698 | _ca1 = _bits->ca1; \ | ||
699 | _cx1 = _bits->cx1; \ | ||
700 | _ca2 = _bits->ca2; \ | ||
701 | @@ -328,7 +329,7 @@ | ||
702 | #define MROP_DECLARE_REG() register MROP_DECLARE() | ||
703 | #define MROP_INITIALIZE(alu,pm) { \ | ||
704 | mergeRopPtr _bits; \ | ||
705 | - _bits = &mergeRopBits[alu]; \ | ||
706 | + _bits = mergeGetRopBits(alu); \ | ||
707 | _ca1 = _bits->ca1; \ | ||
708 | _cx1 = _bits->cx1; \ | ||
709 | } | ||
710 | diff -urN xc.orig/programs/Xserver/mfb/mfb.h xc/programs/Xserver/mfb/mfb.h | ||
711 | --- xc.orig/programs/Xserver/mfb/mfb.h 2004-07-30 13:30:57.000000000 -0700 | ||
712 | +++ xc/programs/Xserver/mfb/mfb.h 2004-12-12 20:34:24.875019912 -0800 | ||
713 | @@ -64,7 +64,7 @@ | ||
714 | #include "mibstore.h" | ||
715 | |||
716 | extern int InverseAlu[]; | ||
717 | - | ||
718 | +extern int mfbGetInverseAlu(int i); | ||
719 | |||
720 | /* warning: PixelType definition duplicated in maskbits.h */ | ||
721 | #ifndef PixelType | ||
722 | @@ -229,6 +229,13 @@ | ||
723 | extern RegionPtr mfbPixmapToRegion( | ||
724 | PixmapPtr /*pPix*/ | ||
725 | ); | ||
726 | + | ||
727 | +#ifndef MFB_PROTOTYPES_ONLY | ||
728 | +typedef RegionPtr (*mfbPixmapToRegionProc)(PixmapPtr); | ||
729 | + | ||
730 | +extern mfbPixmapToRegionProc *mfbPixmapToRegionWeak(void); | ||
731 | +#endif | ||
732 | + | ||
733 | /* mfbcmap.c */ | ||
734 | |||
735 | extern int mfbListInstalledColormaps( | ||
736 | @@ -371,6 +378,15 @@ | ||
737 | ScreenPtr /*pscr*/, | ||
738 | FontPtr /*pFont*/ | ||
739 | ); | ||
740 | + | ||
741 | +#ifndef MFB_PROTOTYPES_ONLY | ||
742 | +typedef void (*mfbRealizeFontProc)(ScreenPtr, FontPtr); | ||
743 | +typedef void (*mfbUnrealizeFontProc)(ScreenPtr, FontPtr); | ||
744 | + | ||
745 | +extern mfbRealizeFontProc *mfbRealizeFontWeak(void); | ||
746 | +extern mfbUnrealizeFontProc *mfbUnrealizeFontWeak(void); | ||
747 | +#endif | ||
748 | + | ||
749 | /* mfbgc.c */ | ||
750 | |||
751 | extern Bool mfbCreateGC( | ||
752 | @@ -490,6 +506,14 @@ | ||
753 | unsigned short * /*pheight*/, | ||
754 | ScreenPtr /*pScreen*/ | ||
755 | ); | ||
756 | + | ||
757 | +#ifndef MFB_PROTOTYPES_ONLY | ||
758 | +typedef void (*mfbQueryBestSizeProc)(int, unsigned short *, unsigned short *, | ||
759 | + ScreenPtr); | ||
760 | + | ||
761 | +extern mfbQueryBestSizeProc *mfbQueryBestSizeWeak(void); | ||
762 | +#endif | ||
763 | + | ||
764 | /* mfbpablack.c */ | ||
765 | |||
766 | extern void mfbSolidBlackArea( | ||
767 | @@ -680,6 +704,14 @@ | ||
768 | int /*xOrg*/, | ||
769 | int /*yOrg*/ | ||
770 | ); | ||
771 | + | ||
772 | +#ifndef MFB_PROTOTYPES_ONLY | ||
773 | +typedef void (*mfbPushPixelsProc)(GCPtr, PixmapPtr, DrawablePtr, int, int, | ||
774 | + int, int); | ||
775 | + | ||
776 | +extern mfbPushPixelsProc *mfbPushPixelsWeak(void); | ||
777 | +#endif | ||
778 | + | ||
779 | /* mfbscrclse.c */ | ||
780 | |||
781 | extern Bool mfbCloseScreen( | ||
782 | diff -urN xc.orig/programs/Xserver/mfb/mfbclip.c xc/programs/Xserver/mfb/mfbclip.c | ||
783 | --- xc.orig/programs/Xserver/mfb/mfbclip.c 2004-04-23 12:54:25.000000000 -0700 | ||
784 | +++ xc/programs/Xserver/mfb/mfbclip.c 2004-12-12 20:34:24.876019760 -0800 | ||
785 | @@ -268,3 +268,9 @@ | ||
786 | #endif | ||
787 | return(pReg); | ||
788 | } | ||
789 | + | ||
790 | +mfbPixmapToRegionProc * | ||
791 | +mfbPixmapToRegionWeak(void) | ||
792 | +{ | ||
793 | + return mfbPixmapToRegion; | ||
794 | +} | ||
795 | diff -urN xc.orig/programs/Xserver/mfb/mfbfont.c xc/programs/Xserver/mfb/mfbfont.c | ||
796 | --- xc.orig/programs/Xserver/mfb/mfbfont.c 2003-11-14 08:48:57.000000000 -0800 | ||
797 | +++ xc/programs/Xserver/mfb/mfbfont.c 2004-12-12 20:34:24.876019760 -0800 | ||
798 | @@ -62,6 +62,12 @@ | ||
799 | return (TRUE); | ||
800 | } | ||
801 | |||
802 | +mfbRealizeFontProc * | ||
803 | +mfbRealizeFontWeak(void) | ||
804 | +{ | ||
805 | + return mfbRealizeFont; | ||
806 | +} | ||
807 | + | ||
808 | /*ARGSUSED*/ | ||
809 | Bool | ||
810 | mfbUnrealizeFont( pscr, pFont) | ||
811 | @@ -70,3 +76,9 @@ | ||
812 | { | ||
813 | return (TRUE); | ||
814 | } | ||
815 | + | ||
816 | +mfbUnrealizeFontProc * | ||
817 | +mfbUnrealizeFontWeak(void) | ||
818 | +{ | ||
819 | + return mfbUnrealizeFont; | ||
820 | +} | ||
821 | diff -urN xc.orig/programs/Xserver/mfb/mfbgc.c xc/programs/Xserver/mfb/mfbgc.c | ||
822 | --- xc.orig/programs/Xserver/mfb/mfbgc.c 2004-04-23 12:54:25.000000000 -0700 | ||
823 | +++ xc/programs/Xserver/mfb/mfbgc.c 2004-12-12 20:34:24.877019608 -0800 | ||
824 | @@ -1454,6 +1454,12 @@ | ||
825 | GXset | ||
826 | }; | ||
827 | |||
828 | +int mfbGetInverseAlu(i) | ||
829 | + int i; | ||
830 | +{ | ||
831 | + return InverseAlu[i]; | ||
832 | +} | ||
833 | + | ||
834 | int | ||
835 | mfbReduceRop(alu, src) | ||
836 | register int alu; | ||
837 | diff -urN xc.orig/programs/Xserver/mfb/mfbmisc.c xc/programs/Xserver/mfb/mfbmisc.c | ||
838 | --- xc.orig/programs/Xserver/mfb/mfbmisc.c 2003-11-14 08:48:57.000000000 -0800 | ||
839 | +++ xc/programs/Xserver/mfb/mfbmisc.c 2004-12-12 20:34:24.877019608 -0800 | ||
840 | @@ -89,3 +89,8 @@ | ||
841 | } | ||
842 | } | ||
843 | |||
844 | +mfbQueryBestSizeProc * | ||
845 | +mfbQueryBestSizeWeak(void) | ||
846 | +{ | ||
847 | + return mfbQueryBestSize; | ||
848 | +} | ||
849 | diff -urN xc.orig/programs/Xserver/mfb/mfbpushpxl.c xc/programs/Xserver/mfb/mfbpushpxl.c | ||
850 | --- xc.orig/programs/Xserver/mfb/mfbpushpxl.c 2004-04-23 12:54:25.000000000 -0700 | ||
851 | +++ xc/programs/Xserver/mfb/mfbpushpxl.c 2004-12-12 20:34:24.878019456 -0800 | ||
852 | @@ -276,3 +276,8 @@ | ||
853 | (*pGC->ops->FillSpans)(pDrawable, pGC, ipt, pt, width, TRUE); | ||
854 | } | ||
855 | } | ||
856 | + | ||
857 | +mfbPushPixelsProc *mfbPushPixelsWeak(void) | ||
858 | +{ | ||
859 | + return mfbPushPixels; | ||
860 | +} |