]> git.pld-linux.org Git - packages/XFree86.git/blame - XFree86-savage-20030505.patch
- outdated
[packages/XFree86.git] / XFree86-savage-20030505.patch
CommitLineData
093c790e
AM
1diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_accel.c XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c
2--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_accel.c Fri Nov 8 19:03:32 2002
3+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c Mon May 5 12:30:22 2003
4@@ -470,6 +470,7 @@
5 | NO_TRANSPARENCY
6 | HARDWARE_PATTERN_PROGRAMMED_BITS
7 | HARDWARE_PATTERN_PROGRAMMED_ORIGIN
8+ | ROP_NEEDS_SOURCE
9 ;
10 }
11 #endif
12@@ -496,6 +497,7 @@
13 | SCANLINE_PAD_DWORD
14 | BIT_ORDER_IN_BYTE_MSBFIRST
15 | LEFT_EDGE_CLIPPING
16+ | ROP_NEEDS_SOURCE
17 ;
18 xaaptr->SetupForImageWrite = SavageSetupForImageWrite;
19 xaaptr->SubsequentImageWriteRect = SavageSubsequentImageWriteRect;
20@@ -506,7 +508,7 @@
21 /* WriteBitmap color expand */
22
23 #if 0
24- xaaptr->WriteBitmapFlags = NO_PLANEMASK;
25+ xaaptr->WriteBitmapFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
26 xaaptr->WriteBitmap = SavageWriteBitmapCPUToScreenColorExpand;
27 #endif
28
29diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_driver.c XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c
30--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_driver.c Tue Feb 25 05:08:21 2003
31+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c Mon May 5 12:30:23 2003
32@@ -19,16 +19,12 @@
33 #define DPMS_SERVER
34 #include "extensions/dpms.h"
35
36-#ifdef XvExtension
37 #include "xf86xv.h"
38-#endif
39
40 #include "savage_driver.h"
41 #include "savage_bci.h"
42
43
44-
45-
46 /*
47 * prototypes
48 */
49@@ -82,10 +78,10 @@
50 #define iabs(a) ((int)(a)>0?(a):(-(a)))
51
52 #define DRIVER_NAME "savage"
53-#define DRIVER_VERSION "1.1.26"
54+#define DRIVER_VERSION "1.1.27"
55 #define VERSION_MAJOR 1
56 #define VERSION_MINOR 1
57-#define PATCHLEVEL 26
58+#define PATCHLEVEL 27
59 #define SAVAGE_VERSION ((VERSION_MAJOR << 24) | \
60 (VERSION_MINOR << 16) | \
61 PATCHLEVEL)
62@@ -287,7 +283,6 @@
63 "XAACopyROP_PM",
64 "XAACreateInfoRec",
65 "XAADestroyInfoRec",
66- "XAAFillSolidRects",
67 "XAAHelpPatternROP",
68 "XAAHelpSolidROP",
69 "XAAInit",
70@@ -2363,10 +2358,8 @@
71 if (xf86DPMSInit(pScreen, SavageDPMS, 0) == FALSE)
72 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "DPMS initialization failed\n");
73
74-#ifdef XvExtension
75 if( !psav->NoAccel && !SavagePanningCheck(pScrn) )
76 SavageInitVideo( pScreen );
77-#endif
78
79 if (serverGeneration == 1)
80 xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
81diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_driver.h XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h
82--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_driver.h Sat Jan 18 16:22:30 2003
83+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.h Mon May 5 12:30:23 2003
84@@ -140,11 +140,9 @@
85 int YFactor; /* overlay Y factor */
86 int displayXoffset; /* overlay X offset */
87 int displayYoffset; /* overlay Y offset */
88- int XExpansion; /* expansion factor in x */
89- int XExp1;
90+ int XExp1; /* expansion ratio in x */
91 int XExp2;
92- int YExpansion; /* expansion factor in x */
93- int YExp1;
94+ int YExp1; /* expansion ratio in x */
95 int YExp2;
96 int cxScreen;
97 int TVSizeX;
98diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_regs.h XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h
99--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_regs.h Wed Oct 2 22:39:55 2002
100+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_regs.h Mon May 5 12:30:23 2003
101@@ -216,7 +216,15 @@
102 VGAOUT8(psav->vgaIOBase + 5, a); \
103 }
104
105+#define HZEXP_COMP_1 0x54
106+#define HZEXP_BORDER 0x58
107 #define HZEXP_FACTOR_IGA1 0x59
108+
109+#define VTEXP_COMP_1 0x56
110+#define VTEXP_BORDER 0x5a
111 #define VTEXP_FACTOR_IGA1 0x5b
112
113+#define EC1_CENTER_ON 0x10
114+#define EC1_EXPAND_ON 0x0c
115+
116 #endif /* _SAVAGE_REGS_H */
117diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_vbe.c XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.c
118--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_vbe.c Wed Oct 2 22:39:55 2002
119+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_vbe.c Mon May 5 12:30:23 2003
120@@ -72,7 +72,7 @@
121 SavageClearVM86Regs( psav->pInt10 );
122 psav->pInt10->ax = 0x4f14; /* S3 extensions */
123 psav->pInt10->bx = 0x0001; /* Set default refresh rate */
124- psav->pInt10->cx = n;
125+ psav->pInt10->cx = n & 0x3fff;
126 psav->pInt10->di = Refresh & 0xffff;
127
128 xf86ExecX86int10( psav->pInt10 );
129diff -urN XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_video.c XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_video.c
130--- XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage.org/savage_video.c Sun Jan 12 04:55:49 2003
131+++ XFree86-4.3.0/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_video.c Mon May 5 12:30:24 2003
132@@ -17,11 +17,6 @@
133
134 #define TIMER_MASK (OFF_TIMER | FREE_TIMER)
135
136-#ifndef XvExtension
137-void SavageInitVideo(ScreenPtr pScreen) {}
138-void SavageResetVideo(ScrnInfoPtr pScrn) {}
139-#else
140-
141 void myOUTREG( SavagePtr psav, unsigned long offset, unsigned long value );
142
143 static XF86VideoAdaptorPtr SavageSetupImageVideo(ScreenPtr);
144@@ -79,7 +74,7 @@
145 ) = NULL;
146
147 static void OverlayParamInit(ScrnInfoPtr pScrn);
148-static void InitStreamsForExpansion(SavagePtr psav);
149+static void InitStreamsForExpansion(ScrnInfoPtr pScrn);
150
151 /*static void SavageBlockHandler(int, pointer, pointer, pointer);*/
152
153@@ -421,7 +416,6 @@
154
155 /* Sequence stolen from streams.c in M7 NT driver */
156
157-
158 xf86EnableIO();
159
160 /* Unlock extended registers. */
161@@ -430,10 +424,20 @@
162 VGAOUT16(vgaCRIndex, 0xa039);
163 VGAOUT16(0x3c4, 0x0608);
164
165+ if(
166+ S3_SAVAGE_MOBILE_SERIES(psav->Chipset) &&
167+ !psav->CrtOnly &&
168+ !psav->TvOn
169+ ) {
170+ OverlayParamInit( pScrn );
171+ }
172+
173 VGAOUT8( vgaCRIndex, EXT_MISC_CTRL2 );
174
175 if( S3_SAVAGE_MOBILE_SERIES(psav->Chipset) ||
176- (psav->Chipset == S3_SUPERSAVAGE) ||
177+#if 0 /* I don't think commenting this out is correct (EE) */
178+ (psav->Chipset == S3_SUPERSAVAGE) ||
179+#endif
180 (psav->Chipset == S3_SAVAGE2000) )
181 {
182 jStreamsControl = VGAIN8( vgaCRReg ) | ENABLE_STREAM1;
183@@ -878,36 +882,6 @@
184 }
185
186
187-static Bool
188-RegionsEqual(RegionPtr A, RegionPtr B)
189-{
190- int *dataA, *dataB;
191- int num;
192-
193- num = REGION_NUM_RECTS(A);
194- if(num != REGION_NUM_RECTS(B))
195- return FALSE;
196-
197- if((A->extents.x1 != B->extents.x1) ||
198- (A->extents.x2 != B->extents.x2) ||
199- (A->extents.y1 != B->extents.y1) ||
200- (A->extents.y2 != B->extents.y2))
201- return FALSE;
202-
203- dataA = (int*)REGION_RECTS(A);
204- dataB = (int*)REGION_RECTS(B);
205-
206- while(num--) {
207- if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1]))
208- return FALSE;
209- dataA += 2;
210- dataB += 2;
211- }
212-
213- return TRUE;
214-}
215-
216-
217 /* SavageClipVideo -
218
219 Takes the dst box in standard X BoxRec form (top and left
220@@ -992,9 +966,8 @@
221
222 REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
223
224- SavageStreamsOff( pScrn );
225-
226 if(shutdown) {
227+ SavageStreamsOff( pScrn );
228 if(pPriv->area) {
229 xf86FreeOffscreenArea(pPriv->area);
230 pPriv->area = NULL;
231@@ -1283,9 +1256,11 @@
232 ssControl |= (1 << 24);
233 OUTREG(SSTREAM_CONTROL_REG, ssControl);
234
235+#if 0
236 /* Set color key on primary. */
237
238 SavageSetColorKey( pScrn );
239+#endif
240
241 /* Set FIFO L2 on second stream. */
242
243@@ -1358,10 +1333,10 @@
244 !psav->CrtOnly &&
245 !psav->TvOn
246 ) {
247- drw_w = (float)(drw_w * psav->XExp1)/(float)psav->XExp2 + 1;
248- drw_h = (float)(drw_h * psav->YExp1)/(float)psav->YExp2 + 1;
249- dstBox->x1 = (float)(dstBox->x1 * psav->XExp1)/(float)psav->XExp2;
250- dstBox->y1 = (float)(dstBox->y1 * psav->YExp1)/(float)psav->YExp2;
251+ drw_w = (drw_w * psav->XExp1)/psav->XExp2 + 1;
252+ drw_h = (drw_h * psav->YExp1)/psav->YExp2 + 1;
253+ dstBox->x1 = (dstBox->x1 * psav->XExp1)/psav->XExp2;
254+ dstBox->y1 = (dstBox->y1 * psav->YExp1)/psav->YExp2;
255 dstBox->x1 += psav->displayXoffset;
256 dstBox->y1 += psav->displayYoffset;
257 }
258@@ -1378,14 +1353,16 @@
259 * are 2 bytes/pixel.
260 */
261
262- OUTREG(SEC_STREAM_FBUF_ADDR0, (offset + (x1>>15)) & 0x3ffff0 );
263+ OUTREG(SEC_STREAM_FBUF_ADDR0, (offset + (x1>>15)) & 0x7ffff0 );
264 OUTREG(SEC_STREAM_STRIDE, pitch & 0xfff );
265 OUTREG(SEC_STREAM_WINDOW_START, ((dstBox->x1+1) << 16) | (dstBox->y1+1) );
266 OUTREG(SEC_STREAM_WINDOW_SZ, ((drw_w) << 16) | drw_h );
267
268+#if 0
269 /* Set color key on primary. */
270
271 SavageSetColorKey( pScrn );
272+#endif
273
274 /* Set FIFO L2 on second stream. */
275
276@@ -1424,6 +1401,20 @@
277 int top, left, npixels, nlines;
278 BoxRec dstBox;
279 CARD32 tmp;
280+/* xf86ErrorFVerb(XVTRACE,"SavagePutImage\n"); */
281+
282+ if( psav->cxScreen != pScrn->currentMode->HDisplay )
283+ {
284+ /* The mode has changed. Recompute the offsets. */
285+
286+ if(
287+ S3_SAVAGE_MOBILE_SERIES(psav->Chipset) &&
288+ !psav->CrtOnly &&
289+ !psav->TvOn
290+ ) {
291+ OverlayParamInit( pScrn );
292+ }
293+ }
294
295 if(drw_w > 16384) drw_w = 16384;
296
297@@ -1519,18 +1510,19 @@
298 SavageCopyData(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
299 break;
300 }
301+
302+ /* We need to enable the video before we draw the chroma color.
303+ Otherwise, we get blue flashes. */
304+
305+ SavageDisplayVideo(pScrn, id, offset, width, height, dstPitch,
306+ x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
307
308 /* update cliplist */
309- if(!RegionsEqual(&pPriv->clip, clipBoxes)) {
310- REGION_COPY(pScreen, &pPriv->clip, clipBoxes);
311+ if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) {
312+ REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
313 /* draw these */
314- XAAFillSolidRects(pScrn, pPriv->colorKey, GXcopy, ~0,
315- REGION_NUM_RECTS(clipBoxes),
316- REGION_RECTS(clipBoxes));
317+ xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
318 }
319-
320- SavageDisplayVideo(pScrn, id, offset, width, height, dstPitch,
321- x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
322
323 pPriv->videoStatus = CLIENT_VIDEO_ON;
324
325@@ -1692,6 +1684,7 @@
326 XF86SurfacePtr surface
327 ){
328 OffscreenPrivPtr pPriv = (OffscreenPrivPtr)surface->devPrivate.ptr;
329+ xf86ErrorFVerb(XVTRACE,"SavageStopSurface\n");
330
331 if(pPriv->isOn) {
332 /*SavagePtr psav = SAVPTR(surface->pScrn);*/
333@@ -1754,6 +1747,7 @@
334 SavagePortPrivPtr portPriv = GET_PORT_PRIVATE(pScrn);
335 INT32 x1, y1, x2, y2;
336 BoxRec dstBox;
337+ xf86ErrorFVerb(XVTRACE,"SavageDisplaySurface\n");
338
339 x1 = src_x;
340 x2 = src_x + src_w;
341@@ -1777,14 +1771,12 @@
342 dstBox.y1 -= pScrn->frameY0;
343 dstBox.y2 -= pScrn->frameY0;
344
345- XAAFillSolidRects(pScrn, portPriv->colorKey, GXcopy, ~0,
346- REGION_NUM_RECTS(clipBoxes),
347- REGION_RECTS(clipBoxes));
348-
349 SavageDisplayVideo(pScrn, surface->id, surface->offsets[0],
350 surface->width, surface->height, surface->pitches[0],
351 x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h);
352
353+ xf86XVFillKeyHelper(pScrn->pScreen, portPriv->colorKey, clipBoxes);
354+
355 pPriv->isOn = TRUE;
356 #if 0
357 if(portPriv->videoStatus & CLIENT_VIDEO_ON) {
358@@ -1839,144 +1831,87 @@
359 SavagePtr psav = SAVPTR(pScrn);
360
361 psav = SAVPTR(pScrn);
362- psav->cxScreen = psav->iResX;
363- InitStreamsForExpansion(psav);
364+ psav->cxScreen = pScrn->currentMode->HDisplay;
365+ InitStreamsForExpansion(pScrn);
366 }
367
368-/* Function to calculate lcd expansion x,yfactor and offset for overlay
369+/* Function to calculate lcd expansion x,y factor and offset for overlay
370 */
371-static void InitStreamsForExpansion(SavagePtr psav)
372+static void InitStreamsForExpansion(ScrnInfoPtr pScrn)
373 {
374+ SavagePtr psav = SAVPTR(pScrn);
375 int PanelSizeX,PanelSizeY;
376 int ViewPortWidth,ViewPortHeight;
377+ int XExpansion, YExpansion;
378 int XFactor, YFactor;
379+ int Hstate, Vstate;
380+
381+ static CARD32 Xfactors[] = {
382+ 0x00010001,
383+ 0x00010001, /* 1 */
384+ 0,
385+ 0x00090008, /* 3 */
386+ 0x00050004, /* 4 */
387+ 0,
388+ 0x00030002, /* 6 */
389+ 0x00020001 /* 7 */
390+ };
391+
392+ static CARD32 Yfactors[] = {
393+ 0x00010001, 0x00010001,
394+ 0, 0x00060005,
395+ 0x00050004, 0x00040003,
396+ 0, 0x00030002,
397+ 0x00020001, 0x00050002,
398+ 0x000C0005, 0x00080003,
399+ 0x00090004, 0,
400+ 0x00030001, 0x00040001,
401+ };
402+
403+
404
405 PanelSizeX = psav->PanelX;
406 PanelSizeY = psav->PanelY;
407- ViewPortWidth = psav->iResX;
408- ViewPortHeight = psav->iResY;
409+ ViewPortWidth = pScrn->currentMode->HDisplay;
410+ ViewPortHeight = pScrn->currentMode->VDisplay;
411+
412 if( PanelSizeX == 1408 )
413 PanelSizeX = 1400;
414- psav->XExpansion = 0x00010001;
415- psav->YExpansion = 0x00010001;
416+
417+ XExpansion = 0x00010001;
418+ YExpansion = 0x00010001;
419+
420 psav->displayXoffset = 0;
421 psav->displayYoffset = 0;
422
423+ VGAOUT8(0x3C4, HZEXP_COMP_1);
424+ Hstate = VGAIN8(0x3C5);
425+ VGAOUT8(0x3C4, VTEXP_COMP_1);
426+ Vstate = VGAIN8(0x3C5);
427 VGAOUT8(0x3C4, HZEXP_FACTOR_IGA1);
428- XFactor = VGAIN8(0x3C5) >> 4;
429+ XFactor = VGAIN8(0x3C5);
430 VGAOUT8(0x3C4, VTEXP_FACTOR_IGA1);
431- YFactor = VGAIN8(0x3C5) >> 4;
432+ YFactor = VGAIN8(0x3C5);
433
434- switch( XFactor )
435+ if( Hstate & EC1_EXPAND_ON )
436 {
437- case 1:
438- psav->XExpansion = 0x00010001;
439- psav->displayXoffset =
440- (((PanelSizeX - ViewPortWidth) / 2) + 0x7) & 0xFFF8;
441- break;
442-
443- case 3:
444- psav->XExpansion = 0x00090008;
445- psav->displayXoffset =
446- (((PanelSizeX - ((9 * ViewPortWidth)/8)) / 2) + 0x7) & 0xFFF8;
447- break;
448+ XExpansion = Xfactors[XFactor>>4];
449+ }
450
451- case 4:
452- psav->XExpansion = 0x00050004;
453+ if( Vstate & EC1_EXPAND_ON )
454+ {
455+ YExpansion = Yfactors[YFactor>>4];
456+ }
457
458- if ((psav->cxScreen == 800) && (PanelSizeX !=1400))
459- {
460- psav->displayXoffset =
461- (((PanelSizeX - ((5 * ViewPortWidth)/4)) / 2) ) & 0xFFF8;
462- }
463- else
464- {
465- psav->displayXoffset =
466- (((PanelSizeX - ((5 * ViewPortWidth)/4)) / 2) +0x7) & 0xFFF8;
467- }
468- break;
469+ psav->XExp1 = XExpansion >> 16;
470+ psav->XExp2 = XExpansion & 0xFFFF;
471
472- case 6:
473- psav->XExpansion = 0x00030002;
474- psav->displayXoffset =
475- (((PanelSizeX - ((3 * ViewPortWidth)/2)) / 2) + 0x7) & 0xFFF8;
476- break;
477+ psav->YExp1 = YExpansion >> 16;
478+ psav->YExp2 = YExpansion & 0xFFFF;
479
480- case 7:
481- psav->XExpansion = 0x00020001;
482- psav->displayXoffset =
483- (((PanelSizeX - (2 * ViewPortWidth)) / 2) + 0x7) & 0xFFF8;
484- break;
485- }
486-
487- switch( YFactor )
488- {
489- case 0:
490- psav->YExpansion = 0x00010001;
491- psav->displayYoffset = (PanelSizeY - ViewPortHeight) / 2;
492- break;
493- case 1:
494- psav->YExpansion = 0x00010001;
495- psav->displayYoffset = (PanelSizeY - ViewPortHeight) / 2;
496- break;
497- case 2:
498- psav->YExpansion = 0x00040003;
499- psav->displayYoffset = (PanelSizeY - ((4 * ViewPortHeight)/3)) / 2;
500- break;
501- case 4:
502- psav->YExpansion = 0x00050004;
503- psav->displayYoffset = (PanelSizeY - ((5 * ViewPortHeight)/4)) / 2;
504- break;
505- case 5:
506- psav->YExpansion = 0x00040003;
507+ psav->displayXoffset =
508+ ((PanelSizeX - (psav->XExp1 * ViewPortWidth) / psav->XExp2) / 2 + 7) & 0xfff8;
509+ psav->displayYoffset =
510+ ((PanelSizeY - (psav->YExp1 * ViewPortHeight) / psav->YExp2) / 2);
511
512- if((psav->cxScreen == 1024)&&(PanelSizeX ==1400))
513- {
514- psav->displayYoffset =
515- ((PanelSizeY - ((4 * ViewPortHeight)/3)) / 2) - 0x1 ;
516- }
517- else
518- {
519- psav->displayYoffset = (PanelSizeY - ((4 * ViewPortHeight)/3)) / 2;
520- }
521- break;
522- case 6:
523- psav->YExpansion = 0x00050004;
524- psav->displayYoffset = (PanelSizeY - ((5 * ViewPortHeight)/4)) / 2;
525- break;
526- case 7:
527- psav->YExpansion = 0x00030002;
528- psav->displayYoffset = (PanelSizeY - ((3 * ViewPortHeight)/2)) / 2;
529- break;
530- case 8:
531- psav->YExpansion = 0x00020001;
532- psav->displayYoffset = (PanelSizeY - (2 * ViewPortHeight)) /2;
533- break;
534- case 9:
535- psav->YExpansion = 0x00090004;
536- psav->displayYoffset = (PanelSizeY - ((9 * ViewPortHeight)/4)) /2;
537- break;
538- case 11:
539- psav->YExpansion = 0x00110005;
540- psav->displayYoffset = (PanelSizeY - ((11 * ViewPortHeight)/5)) /2;
541- break;
542- case 12:
543- psav->YExpansion = 0x00070003;
544- psav->displayYoffset = (PanelSizeY - ((7 * ViewPortHeight)/3)) /2;
545- break;
546- case 14:
547- psav->YExpansion = 0x00050002;
548- psav->displayYoffset = (PanelSizeY - ((5 * ViewPortHeight)/2)) /2;
549- break;
550- case 15:
551- psav->YExpansion = 0x00040001;
552- psav->displayYoffset = (PanelSizeY - (4 * ViewPortHeight)) /2;
553- break;
554- }
555- psav->XExp1 = psav->XExpansion >> 16;
556- psav->XExp2 = psav->XExpansion & 0xFFFF;
557- psav->YExp1 = psav->YExpansion >> 16;
558- psav->YExp2 = psav->YExpansion & 0xFFFF;
559 } /* InitStreamsForExpansionPM */
560-
561-#endif /* XvExtension */
This page took 0.107194 seconds and 4 git commands to generate.