]> git.pld-linux.org Git - packages/X11.git/blame - p_i810-accel.diff
- -Xserver-headers-links switched to own source and updated
[packages/X11.git] / p_i810-accel.diff
CommitLineData
a19699fe 1diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/common.h programs/Xserver/hw/xfree86/drivers/i810/common.h
2--- programs/Xserver/hw/xfree86/drivers/i810_old/common.h 2004-09-29 16:03:59.645813735 +0200
3+++ programs/Xserver/hw/xfree86/drivers/i810/common.h 2004-09-29 16:04:13.974719718 +0200
4@@ -173,7 +173,7 @@
5 #define BEGIN_LP_RING(n) \
6 unsigned int outring, ringmask; \
7 volatile unsigned char *virt; \
8- unsigned int needed; \
9+ int needed; \
10 if ((n) & 1) \
11 ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \
12 if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \
13@@ -206,7 +206,7 @@
14 #define BEGIN_LP_RING(n) \
15 unsigned int outring, ringmask; \
16 volatile unsigned char *virt; \
17- unsigned int needed; \
18+ int needed; \
19 if ((n) & 1) \
20 ErrorF("BEGIN_LP_RING called with odd argument: %d\n", n); \
21 if ((n) > 2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \
22diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810.h programs/Xserver/hw/xfree86/drivers/i810/i810.h
23--- programs/Xserver/hw/xfree86/drivers/i810_old/i810.h 2004-09-29 16:03:59.639814611 +0200
24+++ programs/Xserver/hw/xfree86/drivers/i810/i810.h 2004-09-29 16:04:13.974719718 +0200
25@@ -172,7 +172,7 @@
26 unsigned long OverlayPhysical;
27 unsigned long OverlayStart;
28 int colorKey;
29- int surfaceAllocation[I810_TOTAL_SURFACES];
30+ unsigned int surfaceAllocation[I810_TOTAL_SURFACES];
31 int numSurfaces;
32
33 DGAModePtr DGAModes;
34@@ -295,9 +295,10 @@
35 extern void I810Sync(ScrnInfoPtr pScrn);
36 extern unsigned long I810LocalToPhysical(ScrnInfoPtr pScrn,
37 unsigned long local);
38-extern int I810AllocLow(I810MemRange * result, I810MemRange * pool, int size);
39+extern int I810AllocLow(I810MemRange * result, I810MemRange * pool,
40+ int size);
41 extern int I810AllocHigh(I810MemRange * result, I810MemRange * pool,
42- int size);
43+ int size);
44 extern Bool I810AllocateFront(ScrnInfoPtr pScrn);
45
46 extern int I810AllocateGARTMemory(ScrnInfoPtr pScrn);
47diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810_accel.c programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c
48--- programs/Xserver/hw/xfree86/drivers/i810_old/i810_accel.c 2004-09-29 16:03:59.612818556 +0200
49+++ programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c 2004-09-29 16:04:13.975719572 +0200
50@@ -259,7 +259,7 @@
51 #ifdef XF86DRI
52 /* VT switching tries to do this.
53 */
54- if (!pI810->LockHeld && pI810->directRenderingEnabled) {
55+ if ((!pI810->LockHeld && pI810->directRenderingEnabled) || !pScrn->vtSema) {
56 return;
57 }
58 #endif
59diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810_dri.c programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c
60--- programs/Xserver/hw/xfree86/drivers/i810_old/i810_dri.c 2004-09-29 16:03:59.671809935 +0200
61+++ programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c 2004-09-29 16:04:13.977719280 +0200
62@@ -290,7 +290,7 @@
63 unsigned long dcacheHandle;
64 int sysmem_size = 0;
65 int back_size = 0;
66- int pitch_idx = 0;
67+ unsigned int pitch_idx = 0;
68 int bufs;
69 int width = pScrn->displayWidth * pI810->cpp;
70 int i;
71diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810_driver.c programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
72--- programs/Xserver/hw/xfree86/drivers/i810_old/i810_driver.c 2004-09-29 16:03:59.553827177 +0200
73+++ programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c 2004-09-29 16:04:13.979718988 +0200
74@@ -1124,14 +1124,6 @@
75 xf86SetOperatingState(resVgaIo, pI810->pEnt->index, ResUnusedOpr);
76 xf86SetOperatingState(resVgaMem, pI810->pEnt->index, ResDisableOpr);
77
78- pI810->LpRing = xalloc(sizeof(I810RingBuffer));
79- if (!pI810->LpRing) {
80- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
81- "Could not allocate lpring data structure.\n");
82- I810FreeRec(pScrn);
83- return FALSE;
84- }
85-
86 return TRUE;
87 }
88
89@@ -1159,7 +1151,7 @@
90 I810MapMem(ScrnInfoPtr pScrn)
91 {
92 I810Ptr pI810 = I810PTR(pScrn);
93- unsigned i;
94+ long i;
95
96 for (i = 2; i < pI810->FbMapSize; i <<= 1) ;
97 pI810->FbMapSize = i;
98@@ -2074,6 +2066,13 @@
99 pI810 = I810PTR(pScrn);
100 hwp = VGAHWPTR(pScrn);
101
102+ pI810->LpRing = xcalloc(sizeof(I810RingBuffer),1);
103+ if (!pI810->LpRing) {
104+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
105+ "Could not allocate lpring data structure.\n");
106+ return FALSE;
107+ }
108+
109 miClearVisualTypes();
110
111 /* Re-implemented Direct Color support, -jens */
112diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810_memory.c programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c
113--- programs/Xserver/hw/xfree86/drivers/i810_old/i810_memory.c 2004-09-29 16:03:59.659811689 +0200
114+++ programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c 2004-09-29 16:04:13.980718842 +0200
115@@ -55,7 +55,7 @@
116 int
117 I810AllocLow(I810MemRange * result, I810MemRange * pool, int size)
118 {
119- if (size > pool->Size)
120+ if (size > (long)pool->Size)
121 return 0;
122
123 pool->Size -= size;
124@@ -69,7 +69,7 @@
125 int
126 I810AllocHigh(I810MemRange * result, I810MemRange * pool, int size)
127 {
128- if (size > pool->Size)
129+ if (size > (long)pool->Size)
130 return 0;
131
132 pool->Size -= size;
133diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i810_reg.h programs/Xserver/hw/xfree86/drivers/i810/i810_reg.h
134--- programs/Xserver/hw/xfree86/drivers/i810_old/i810_reg.h 2004-09-29 16:03:59.736800438 +0200
135+++ programs/Xserver/hw/xfree86/drivers/i810/i810_reg.h 2004-09-29 16:04:13.981718696 +0200
136@@ -459,11 +459,11 @@
137 #define I830_HEAD_MASK 0x001FFFFC
138
139 #define RING_START 0x08
140-#define START_ADDR 0x00FFFFF8
141+#define START_ADDR 0x03FFFFF8
142 #define I830_RING_START_MASK 0xFFFFF000
143
144 #define RING_LEN 0x0C
145-#define RING_NR_PAGES 0x000FF000
146+#define RING_NR_PAGES 0x001FF000
147 #define I830_RING_NR_PAGES 0x001FF000
148 #define RING_REPORT_MASK 0x00000006
149 #define RING_REPORT_64K 0x00000002
150diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i830.h programs/Xserver/hw/xfree86/drivers/i810/i830.h
151--- programs/Xserver/hw/xfree86/drivers/i810_old/i830.h 2004-09-29 16:03:59.645813735 +0200
152+++ programs/Xserver/hw/xfree86/drivers/i810/i830.h 2004-09-29 16:04:13.982718550 +0200
153@@ -180,17 +180,17 @@
154 int CacheLines;
155
156 /* These are set in PreInit and never changed. */
157- unsigned long FbMapSize;
158- unsigned long TotalVideoRam;
159+ long FbMapSize;
160+ long TotalVideoRam;
161 I830MemRange StolenMemory; /* pre-allocated memory */
162- unsigned long BIOSMemorySize; /* min stolen pool size */
163+ long BIOSMemorySize; /* min stolen pool size */
164 int BIOSMemSizeLoc;
165
166 /* These change according to what has been allocated. */
167 long FreeMemory;
168 I830MemRange MemoryAperture;
169 I830MemPool StolenPool;
170- unsigned long allocatedMemory;
171+ long allocatedMemory;
172
173 /* Regions allocated either from the above pools, or from agpgart. */
174 /* for single and dual head configurations */
175@@ -348,7 +348,7 @@
176 int xoffset;
177 int yoffset;
178
179- int SaveGeneration;
180+ unsigned int SaveGeneration;
181 Bool vbeRestoreWorkaround;
182 Bool displayInfo;
183 Bool devicePresence;
184@@ -415,7 +415,7 @@
185 extern Bool I830BindGARTMemory(ScrnInfoPtr pScrn);
186 extern Bool I830UnbindGARTMemory(ScrnInfoPtr pScrn);
187 extern unsigned long I830AllocVidMem(ScrnInfoPtr pScrn, I830MemRange *result,
188- I830MemPool *pool, unsigned long size,
189+ I830MemPool *pool, long size,
190 unsigned long alignment, int flags);
191
192 extern void I830PrintAllRegisters(I830RegPtr i830Reg);
193diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i830_driver.c programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
194--- programs/Xserver/hw/xfree86/drivers/i810_old/i830_driver.c 2004-09-29 16:03:59.646813588 +0200
195+++ programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c 2004-09-29 16:04:13.986717965 +0200
196@@ -1028,7 +1028,7 @@
197 I830MapMem(ScrnInfoPtr pScrn)
198 {
199 I830Ptr pI830 = I830PTR(pScrn);
200- unsigned i;
201+ long i;
202
203 for (i = 2; i < pI830->FbMapSize; i <<= 1) ;
204 pI830->FbMapSize = i;
205@@ -2909,7 +2909,7 @@
206 OUTREG(LP_RING + RING_TAIL, 0);
207 OUTREG(LP_RING + RING_HEAD, 0);
208
209- if ((pI830->LpRing->mem.Start & I830_RING_START_MASK) !=
210+ if ((long)(pI830->LpRing->mem.Start & I830_RING_START_MASK) !=
211 pI830->LpRing->mem.Start) {
212 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
213 "I830SetRingRegs: Ring buffer start (%lx) violates its "
214@@ -3452,7 +3452,7 @@
215 I830Ptr pI8301 = I830PTR(pI830->entityPrivate->pScrn_1);
216
217 temp = INREG(stridereg);
218- if (temp / pI8301->cpp != pI830->entityPrivate->pScrn_1->displayWidth) {
219+ if (temp / pI8301->cpp != (CARD32)(pI830->entityPrivate->pScrn_1->displayWidth)) {
220 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
221 "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(pI830->pipe),
222 (int)(temp / pI8301->cpp), pI830->entityPrivate->pScrn_1->displayWidth);
223@@ -3470,7 +3470,7 @@
224 sizereg = pI830->pipe ? DSPASIZE : DSPBSIZE;
225
226 temp = INREG(stridereg);
227- if (temp / pI8302->cpp != pI830->entityPrivate->pScrn_2->displayWidth) {
228+ if (temp / pI8302->cpp != (CARD32)(pI830->entityPrivate->pScrn_2->displayWidth)) {
229 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
230 "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(!pI830->pipe),
231 (int)(temp / pI8302->cpp), pI830->entityPrivate->pScrn_2->displayWidth);
232@@ -3489,7 +3489,7 @@
233 I830Ptr pI8302 = I830PTR(pI830->entityPrivate->pScrn_2);
234
235 temp = INREG(stridereg);
236- if (temp / pI8301->cpp != pI830->entityPrivate->pScrn_1->displayWidth) {
237+ if (temp / pI8301->cpp != (CARD32)(pI830->entityPrivate->pScrn_1->displayWidth)) {
238 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
239 "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(pI830->pipe),
240 (int)(temp / pI8301->cpp), pI830->entityPrivate->pScrn_1->displayWidth);
241@@ -3505,7 +3505,7 @@
242 sizereg = !pI830->pipe ? DSPASIZE : DSPBSIZE;
243
244 temp = INREG(stridereg);
245- if (temp / pI8302->cpp != pI830->entityPrivate->pScrn_2->displayWidth) {
246+ if (temp / pI8302->cpp != ((CARD32)pI830->entityPrivate->pScrn_2->displayWidth)) {
247 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
248 "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(!pI830->pipe),
249 (int)(temp / pI8302->cpp), pI830->entityPrivate->pScrn_2->displayWidth);
250@@ -3526,7 +3526,7 @@
251 continue;
252
253 temp = INREG(stridereg);
254- if (temp / pI830->cpp != pScrn->displayWidth) {
255+ if (temp / pI830->cpp != (CARD32)pScrn->displayWidth) {
256 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
257 "Correcting plane %c stride (%d -> %d)\n", PIPE_NAME(i),
258 (int)(temp / pI830->cpp), pScrn->displayWidth);
259@@ -4527,7 +4527,8 @@
260 ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
261 I830Ptr pI830 = I830PTR(pScrn);
262 Bool on = xf86IsUnblank(mode);
263- CARD32 temp, ctrl, base, i;
264+ CARD32 temp, ctrl, base;
265+ int i;
266
267 DPRINTF(PFX, "I830BIOSSaveScreen: %d, on is %s\n", mode, BOOLTOSTRING(on));
268
269Only in programs/Xserver/hw/xfree86/drivers/i810: i830_driver.c.orig
270diff -ur programs/Xserver/hw/xfree86/drivers/i810_old/i830_memory.c programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c
271--- programs/Xserver/hw/xfree86/drivers/i810_old/i830_memory.c 2004-09-29 16:03:59.547828054 +0200
272+++ programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c 2004-09-29 16:04:13.988717673 +0200
273@@ -63,10 +63,10 @@
274 */
275 static unsigned long
276 AllocFromPool(ScrnInfoPtr pScrn, I830MemRange *result, I830MemPool *pool,
277- unsigned long size, unsigned long alignment, int flags)
278+ long size, unsigned long alignment, int flags)
279 {
280 I830Ptr pI830 = I830PTR(pScrn);
281- unsigned long needed, start, end;
282+ long needed, start, end;
283 Bool dryrun = ((flags & ALLOCATE_DRY_RUN) != 0);
284
285 if (!result || !pool || !size)
286@@ -94,7 +94,7 @@
287 }
288 }
289 if (needed > pool->Free.Size) {
290- unsigned long extra;
291+ long extra;
292 /* See if the pool can be grown. */
293 if (pI830->StolenOnly && !dryrun)
294 return 0;
295@@ -107,7 +107,7 @@
296 return 0;
297 }
298
299- if (!dryrun && (extra > pI830->MemoryAperture.Size))
300+ if (!dryrun && ((long)extra > pI830->MemoryAperture.Size))
301 return 0;
302
303 pool->Free.Size += extra;
304@@ -136,7 +136,7 @@
305 }
306
307 static unsigned long
308-AllocFromAGP(ScrnInfoPtr pScrn, I830MemRange *result, unsigned long size,
309+AllocFromAGP(ScrnInfoPtr pScrn, I830MemRange *result, long size,
310 unsigned long alignment, int flags)
311 {
312 I830Ptr pI830 = I830PTR(pScrn);
313@@ -212,7 +212,7 @@
314
315 unsigned long
316 I830AllocVidMem(ScrnInfoPtr pScrn, I830MemRange *result, I830MemPool *pool,
317- unsigned long size, unsigned long alignment, int flags)
318+ long size, unsigned long alignment, int flags)
319 {
320 I830Ptr pI830 = I830PTR(pScrn);
321 Bool dryrun = ((flags & ALLOCATE_DRY_RUN) != 0);
322@@ -392,7 +392,7 @@
323 I830Allocate2DMemory(ScrnInfoPtr pScrn, const int flags)
324 {
325 I830Ptr pI830 = I830PTR(pScrn);
326- unsigned long size, alloced;
327+ long size, alloced;
328 Bool dryrun = ((flags & ALLOCATE_DRY_RUN) != 0);
329 int verbosity = dryrun ? 4 : 1;
330 const char *s = dryrun ? "[dryrun] " : "";
331@@ -610,9 +610,9 @@
332 return FALSE;
333 }
334 } else {
335- unsigned long lineSize;
336- unsigned long extra = 0;
337- unsigned long maxFb = 0;
338+ long lineSize;
339+ long extra = 0;
340+ long maxFb = 0;
341
342 /*
343 * XXX Need to "free" up any 3D allocations if the DRI ended up
344@@ -857,7 +857,7 @@
345 I830GetExcessMemoryAllocations(ScrnInfoPtr pScrn)
346 {
347 I830Ptr pI830 = I830PTR(pScrn);
348- unsigned long allocated;
349+ long allocated;
350
351 allocated = pI830->StolenPool.Total.Size + pI830->allocatedMemory;
352 if (allocated > pI830->TotalVideoRam)
353@@ -1367,7 +1367,7 @@
354 I830Ptr pI830 = I830PTR(pScrn);
355 int pitch, ntiles, i;
356 static int nextTile = 0;
357- static int tileGeneration = -1;
358+ static unsigned int tileGeneration = -1;
359
360 #if 0
361 /* Hack to "improve" the alignment of the front buffer.
This page took 0.065436 seconds and 4 git commands to generate.