]> git.pld-linux.org Git - packages/XFree86.git/blob - XFree86-savage-20030505.patch
- outdated
[packages/XFree86.git] / XFree86-savage-20030505.patch
1 diff -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  
29 diff -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);
81 diff -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;
98 diff -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 */
117 diff -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 );
129 diff -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.067428 seconds and 3 git commands to generate.