All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.