1 --- xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c.tdfx-enable-interlaced-modes Sun Feb 3 07:28:12 2002
2 +++ xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c Sun Feb 3 08:38:10 2002
4 clockRanges->minClock= 12000; /* !!! What's the min clock? !!! */
5 clockRanges->maxClock=pTDFX->MaxClock;
6 clockRanges->clockIndex = -1;
7 - clockRanges->interlaceAllowed = FALSE;
8 + switch (pTDFX->ChipType) {
9 + case PCI_CHIP_BANSHEE:
10 + clockRanges->interlaceAllowed = FALSE;
12 + case PCI_CHIP_VOODOO3:
13 + case PCI_CHIP_VOODOO5:
14 + clockRanges->interlaceAllowed = TRUE;
17 + clockRanges->interlaceAllowed = FALSE;
20 clockRanges->doubleScanAllowed = TRUE;
25 int heightInTiles; /* Height of buffer in tiles */
28 /* Calculate tile height stuff */
29 heightInTiles = yres >> 5;
31 @@ -2394,9 +2404,21 @@
32 TDFXTRACE("TDFXValidMode start\n");
33 if ((mode->HDisplay>2048) || (mode->VDisplay>1536))
35 - /* Banshee doesn't support interlace. Does V3? */
36 - if (mode->Flags&V_INTERLACE)
38 + /* Banshee doesn't support interlace, but Voodoo 3 and higher do. */
39 + if (mode->Flags&V_INTERLACE) {
40 + switch (pTDFX->ChipType) {
41 + case PCI_CHIP_BANSHEE:
44 + case PCI_CHIP_VOODOO3:
45 + case PCI_CHIP_VOODOO5:
53 /* In clock doubled mode widths must be divisible by 16 instead of 8 */
54 if ((mode->Clock>TDFX2XCUTOFF) && (mode->HDisplay%16))