public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] final DRI/DRM patch: tdfx updates
@ 2000-08-18  7:38 David Mosberger
  0 siblings, 0 replies; only message in thread
From: David Mosberger @ 2000-08-18  7:38 UTC (permalink / raw)
  To: linux-ia64

The final piece of patches you need to get 3dfx support in the
XFree86-4.0 server is the patch below.  The tdfx driver included in
XFree86-4.0 didn't compile for me, so what I had to do is take the
source code out of the tdfx_dri-4.0.00-3.src.rpm RPM available from
3dfx and stick it into the standard XFree86-4.0 (just copying the
stuff in xc/programs/Xserver/hw/xfree86/drivers/tdfx should be
sufficient).

Unfortunately, there seem to be some incompatibilities between the
tdfx_dri RPM and the official XFree86 RPM.  The patch below should fix
those incompatibilities.  Also, I didn't try to build the "int10" and
"vbe" modules, so I simply commented them out from the 3dfx driver.

	--david

diff -urN tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h
--- tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h	Sun Jun 11 19:33:12 2000
+++ XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h	Wed Aug  9 04:27:39 2000
@@ -149,8 +149,8 @@
   int MaxClock;
   int ChipType;
   pciVideoPtr PciInfo;
-  int LinearAddr[MAXCHIPS];
-  int MMIOAddr[MAXCHIPS];
+  unsigned int LinearAddr[MAXCHIPS];
+  unsigned int MMIOAddr[MAXCHIPS];
   EntityInfoPtr pEnt;
   int numChips;
   PCITAG PciTag[MAXCHIPS];
diff -urN tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c
--- tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c	Fri Jul  7 12:14:56 2000
+++ XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c	Wed Aug  9 04:38:01 2000
@@ -144,6 +144,7 @@
     TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, fmt);
     break;
   default:
+    break;
   }
 }
 
diff -urN tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c
--- tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c	Sun Jun 11 19:33:12 2000
+++ XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c	Thu Aug 10 10:19:27 2000
@@ -115,10 +117,14 @@
 	      pConfigs[i].stencilSize = 0;
 	    pConfigs[i].auxBuffers = 0;
 	    pConfigs[i].level = 0;
+#if 0 /* XXX --davidm 00/08/09 */
 	    if (stencil || accum)
 	      pConfigs[i].visualRating = GLX_SLOW_VISUAL_EXT;
 	    else
 	      pConfigs[i].visualRating = GLX_NONE_EXT;
+#else
+	    pConfigs[i].visualRating = 0;
+#endif
 	    pConfigs[i].transparentPixel = 0;
 	    pConfigs[i].transparentRed = 0;
 	    pConfigs[i].transparentGreen = 0;
@@ -209,10 +215,14 @@
 	      pConfigs[i].stencilSize = 0;
 	    pConfigs[i].auxBuffers = 0;
 	    pConfigs[i].level = 0;
+#if 0 /* XXX --davidm 00/08/09 */
 	    if (accum)
 	      pConfigs[i].visualRating = GLX_SLOW_VISUAL_EXT;
 	    else
 	      pConfigs[i].visualRating = GLX_NONE_EXT;
+#else
+	    pConfigs[i].visualRating = 0;
+#endif
 	    pConfigs[i].transparentPixel = 0;
 	    pConfigs[i].transparentRed = 0;
 	    pConfigs[i].transparentGreen = 0;
@@ -283,6 +293,10 @@
     if (!LoaderSymbol("drmAvailable"))        return FALSE;
 #endif
 
+#if 0
+    /* DRIQueryVersion() doesn't seem to exist anymore.  There is
+       XF86DRIQueryVersion() but it has a slightly different interface
+       and returns 1 as the major number.  Duh. --davidm 00/08/08 */
   /* Check the DRI version */
   {
     int major, minor, patch;
@@ -294,6 +308,7 @@
       return FALSE;
     }
   }
+#endif
 
   pDRIInfo = DRICreateInfoRec();
   if (!pDRIInfo)
diff -urN tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c
--- tdfx_dri-4.0.00/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c	Fri Jul  7 12:14:56 2000
+++ XFree86-4.0-lia/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c	Tue Aug  8 23:28:00 2000
@@ -331,7 +331,10 @@
 	 * might refer to.
 	 */
 	LoaderRefSymLists(vgahwSymbols, cfbSymbols, xaaSymbols, 
-			  xf8_32bppSymbols, ramdacSymbols, vbeSymbols,
+			  xf8_32bppSymbols, ramdacSymbols,
+#ifndef __ia64__
+			  vbeSymbols,
+#endif
 #ifdef XF86DRI
 			  drmSymbols, driSymbols,
 #endif
@@ -535,11 +538,13 @@
 static void
 TDFXProbeDDC(ScrnInfoPtr pScrn, int index)
 {
+#ifndef __ia64__
     vbeInfoPtr pVbe;
     if (xf86LoadSubModule(pScrn, "vbe")) {
         pVbe = VBEInit(NULL,index);
         ConfiguredMonitor = vbeDoEDID(pVbe);
     }
+#endif
 }
 
 static int TDFXCfgToSize(int cfg)
@@ -669,6 +674,8 @@
   /* Allocate a vgaHWRec */
   if (!vgaHWGetHWRec(pScrn)) return FALSE;
 
+#ifndef __ia64__
+  /* xxx notyet */
   if (xf86LoadSubModule(pScrn, "int10")) {
     xf86Int10InfoPtr pInt;
     xf86DrvMsg(pScrn->scrnIndex, X_INFO, 
@@ -686,6 +693,7 @@
       xf86FreeInt10(pInt);
     }
   }
+#endif
 
   match=pTDFX->PciInfo=xf86GetPciInfoForEntity(pTDFX->pEnt->index);
   TDFXFindChips(pScrn, match);
@@ -966,11 +974,13 @@
   xf86LoaderReqSymLists(ddcSymbols, NULL);
 
   /* Initialize DDC1 if possible */
+#ifndef __ia64__
   if (xf86LoadSubModule(pScrn, "vbe")) {
       xf86MonPtr pMon;
       pMon = vbeDoEDID(VBEInit(NULL,pTDFX->pEnt->index));
       xf86SetDDCproperties(pScrn,xf86PrintEDID(pMon));
   }
+#endif
 
   if (xf86ReturnOptValBool(TDFXOptions, OPTION_USE_PIO, FALSE)) {
     pTDFX->usePIO=TRUE;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-08-18  7:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-08-18  7:38 [Linux-ia64] final DRI/DRM patch: tdfx updates David Mosberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox