From: David Mosberger <davidm@hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] final DRI/DRM patch: tdfx updates
Date: Fri, 18 Aug 2000 07:38:36 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590678205355@msgid-missing> (raw)
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;
reply other threads:[~2000-08-18 7:38 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590678205355@msgid-missing \
--to=davidm@hpl.hp.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox