summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Borca <dborca@users.sourceforge.net>2003-10-13 11:14:58 +0000
committerDaniel Borca <dborca@users.sourceforge.net>2003-10-13 11:14:58 +0000
commitfd83bc2b33f34195f05300eee6ebfe18570177a0 (patch)
tree433f88c7c1ef8f0ee36b3cd1884e0d1bd58c7c30 /src
parent6c520ef3d30c86aeb856e7db5076fb474d008d84 (diff)
glide driver (wip)
Diffstat (limited to 'src')
-rw-r--r--src/mesa/Makefile.X113
-rw-r--r--src/mesa/drivers/glide/fxapi.c291
-rw-r--r--src/mesa/drivers/glide/fxdd.c8
-rw-r--r--src/mesa/drivers/glide/fxddtex.c7
-rw-r--r--src/mesa/drivers/glide/fxglidew.c14
-rw-r--r--src/mesa/drivers/glide/fxglidew.h4
-rw-r--r--src/mesa/drivers/glide/fxsetup.c12
-rw-r--r--src/mesa/drivers/glide/fxwgl.c4
-rw-r--r--src/mesa/drivers/x11/xm_api.c10
-rw-r--r--src/mesa/drivers/x11/xmesaP.h2
10 files changed, 198 insertions, 157 deletions
diff --git a/src/mesa/Makefile.X11 b/src/mesa/Makefile.X11
index 373608a325..72e1499392 100644
--- a/src/mesa/Makefile.X11
+++ b/src/mesa/Makefile.X11
@@ -209,7 +209,8 @@ GLIDE_DRIVER_SOURCES = \
drivers/glide/fxtexman.c \
drivers/glide/fxtris.c \
drivers/glide/fxvb.c \
- drivers/glide/fxglidew.c
+ drivers/glide/fxglidew.c \
+ drivers/glide/fxg.c
SVGA_DRIVER_SOURCES = \
drivers/svga/svgamesa.c \
diff --git a/src/mesa/drivers/glide/fxapi.c b/src/mesa/drivers/glide/fxapi.c
index 28b9059c19..02b00a84c9 100644
--- a/src/mesa/drivers/glide/fxapi.c
+++ b/src/mesa/drivers/glide/fxapi.c
@@ -1,4 +1,4 @@
-/* $Id: fxapi.c,v 1.39 2003/10/09 15:12:21 dborca Exp $ */
+/* $Id: fxapi.c,v 1.40 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -216,7 +216,7 @@ fxMesaCreateBestContext(GLuint win, GLint width, GLint height,
return NULL;
}
- return fxMesaCreateContext(win, res, GR_REFRESH_60Hz/*ZZZ: GR_REFRESH_75Hz*/, attribList);
+ return fxMesaCreateContext(win, res, GR_REFRESH_60Hz, attribList);
}
@@ -233,7 +233,7 @@ fxMesaCreateContext(GLuint win,
int i;
const char *str;
- int numChips, sliaa, fsaa;
+ int sliaa, numSLI, samplesPerChip, tmuRam, fbRam;
struct SstCard_St *voodoo;
struct tdfx_glide *Glide;
@@ -245,16 +245,11 @@ fxMesaCreateContext(GLuint win,
GrPixelFormat_t pixFmt;
GLboolean useBGR;
- GLboolean verbose = GL_FALSE;
if (TDFX_DEBUG & VERBOSE_DRIVER) {
fprintf(stderr, "%s(...)\n", __FUNCTION__);
}
- if (getenv("MESA_FX_INFO")) {
- verbose = GL_TRUE;
- }
-
/* Okay, first process the user flags */
aux = GL_FALSE;
doubleBuffer = GL_FALSE;
@@ -313,7 +308,6 @@ fxMesaCreateContext(GLuint win,
and disables the splash screen due to y-origin swapping.
Note: We only want the former. */
voodoo = &glbHWConfig.SSTs[glbCurrentBoard];
- numChips = voodoo->numChips;
fxMesa = (fxMesaContext)CALLOC_STRUCT(tfxMesaContext);
if (!fxMesa) {
@@ -321,6 +315,10 @@ fxMesaCreateContext(GLuint win,
goto errorhandler;
}
+ if (getenv("MESA_FX_INFO")) {
+ fxMesa->verbose = GL_TRUE;
+ }
+
fxMesa->type = voodoo->type;
fxMesa->HavePixExt = voodoo->HavePixExt;
fxMesa->HaveTexFmt = voodoo->HaveTexFmt;
@@ -329,41 +327,152 @@ fxMesaCreateContext(GLuint win,
fxMesa->HaveTexus2 = voodoo->HaveTexus2;
fxMesa->Glide = glbHWConfig.Glide;
Glide = &fxMesa->Glide;
- sprintf(fxMesa->rendererString, "Mesa %s v0.51 %s %dMB FB, %dMB TM, %d TMU, %s",
- grGetString(GR_RENDERER),
- grGetString(GR_HARDWARE),
- voodoo->fbRam,
- (voodoo->tmuConfig[GR_TMU0].tmuRam + ((voodoo->nTexelfx > 1) ? voodoo->tmuConfig[GR_TMU1].tmuRam : 0)),
- voodoo->nTexelfx,
- (numChips > 1) ? "SLI" : "NOSLI");
- switch (fxMesa->colDepth = colDepth) {
- case 15:
- redBits = 5;
- greenBits = 5;
- blueBits = 5;
- alphaBits = 1;
- pixFmt = GR_PIXFMT_ARGB_1555;
- break;
- case 16:
- redBits = 5;
- greenBits = 6;
- blueBits = 5;
- alphaBits = depthSize ? 0 : 8;
- pixFmt = GR_PIXFMT_RGB_565;
+ /*
+ * Pixel tables are used during pixel read-back
+ * Either initialize them for RGB or BGR order;
+ * However, 32bit capable cards have the right order.
+ * As a consequence, 32bit read-back is not swizzled!
+ * Also determine if we need vertex snapping.
+ */
+ /* number of SLI units and AA Samples per chip */
+ sliaa = 0;
+ switch (voodoo->type) {
+ case GR_SSTTYPE_VOODOO:
+ case GR_SSTTYPE_Banshee:
+ useBGR = GL_TRUE;
+ fxMesa->snapVertices = GL_TRUE;
break;
- case 32:
- redBits = 8;
- greenBits = 8;
- blueBits = 8;
- alphaBits = 8;
- pixFmt = GR_PIXFMT_ARGB_8888;
+ case GR_SSTTYPE_Voodoo2:
+ useBGR = GL_TRUE;
+ fxMesa->snapVertices = GL_FALSE;
break;
+ case GR_SSTTYPE_Voodoo4:
+ case GR_SSTTYPE_Voodoo5:
+ if ((str = Glide->grGetRegistryOrEnvironmentStringExt("SSTH3_SLI_AA_CONFIGURATION")) != NULL) {
+ sliaa = atoi(str);
+ }
+ case GR_SSTTYPE_Voodoo3:
default:
- str = "pixelFormat";
- goto errorhandler;
+ useBGR = GL_FALSE;
+ fxMesa->snapVertices = GL_FALSE;
+ break;
+ }
+ /* ZZZ TO DO: Add the old SLI/AA settings for Napalm. */
+ switch(voodoo->numChips) {
+ case 4: /* 4 chips */
+ switch(sliaa) {
+ case 8: /* 8 Sample AA */
+ numSLI = 1;
+ samplesPerChip = 2;
+ break;
+ case 7: /* 4 Sample AA */
+ numSLI = 1;
+ samplesPerChip = 1;
+ break;
+ case 6: /* 2 Sample AA */
+ numSLI = 2;
+ samplesPerChip = 1;
+ break;
+ default:
+ numSLI = 4;
+ samplesPerChip = 1;
+ }
+ break;
+ case 2: /* 2 chips */
+ switch(sliaa) {
+ case 4: /* 4 Sample AA */
+ numSLI = 1;
+ samplesPerChip = 2;
+ break;
+ case 3: /* 2 Sample AA */
+ numSLI = 1;
+ samplesPerChip = 1;
+ break;
+ default:
+ numSLI = 2;
+ samplesPerChip = 1;
+ }
+ break;
+ default: /* 1 chip */
+ switch(sliaa) {
+ case 1: /* 2 Sample AA */
+ numSLI = 1;
+ samplesPerChip = 2;
+ break;
+ default:
+ numSLI = 1;
+ samplesPerChip = 1;
+ }
+ }
+
+ fxMesa->fsaa = samplesPerChip * voodoo->numChips / numSLI; /* 1:noFSAA, 2:2xFSAA, 4:4xFSAA, 8:8xFSAA */
+
+ switch (fxMesa->colDepth = colDepth) {
+ case 15:
+ redBits = 5;
+ greenBits = 5;
+ blueBits = 5;
+ alphaBits = 1;
+ switch(fxMesa->fsaa) {
+ case 8:
+ pixFmt = GR_PIXFMT_AA_8_ARGB_1555;
+ break;
+ case 4:
+ pixFmt = GR_PIXFMT_AA_4_ARGB_1555;
+ break;
+ case 2:
+ pixFmt = GR_PIXFMT_AA_2_ARGB_1555;
+ break;
+ default:
+ pixFmt = GR_PIXFMT_ARGB_1555;
+ }
+ break;
+ case 16:
+ redBits = 5;
+ greenBits = 6;
+ blueBits = 5;
+ alphaBits = depthSize ? 0 : 8;
+ switch(fxMesa->fsaa) {
+ case 8:
+ pixFmt = GR_PIXFMT_AA_8_RGB_565;
+ break;
+ case 4:
+ pixFmt = GR_PIXFMT_AA_4_RGB_565;
+ break;
+ case 2:
+ pixFmt = GR_PIXFMT_AA_2_RGB_565;
+ break;
+ default:
+ pixFmt = GR_PIXFMT_RGB_565;
+ }
+ break;
+ case 32:
+ redBits = 8;
+ greenBits = 8;
+ blueBits = 8;
+ alphaBits = 8;
+ switch(fxMesa->fsaa) {
+ case 8:
+ pixFmt = GR_PIXFMT_AA_8_ARGB_8888;
+ break;
+ case 4:
+ pixFmt = GR_PIXFMT_AA_4_ARGB_8888;
+ break;
+ case 2:
+ pixFmt = GR_PIXFMT_AA_2_ARGB_8888;
+ break;
+ default:
+ pixFmt = GR_PIXFMT_ARGB_8888;
+ }
+ break;
+ default:
+ str = "pixelFormat";
+ goto errorhandler;
}
+ /* ZZZ TODO: check if there is enough fbRam */
+
/* Tips:
* 1. we don't bother setting/checking AUX for stencil, because we'll decide
* later whether we have HW stencil, based on depth buffer (thus AUX is
@@ -391,7 +500,6 @@ fxMesaCreateContext(GLuint win,
fxMesa->haveZBuffer = depthSize > 0;
fxMesa->haveDoubleBuffer = doubleBuffer;
fxMesa->haveGlobalPaletteTexture = GL_FALSE;
- fxMesa->verbose = verbose;
fxMesa->board = glbCurrentBoard;
fxMesa->haveTwoTMUs = (voodoo->nTexelfx > 1);
@@ -419,60 +527,6 @@ fxMesaCreateContext(GLuint win,
fxMesa->swapInterval = 0;
}
- if ((str = Glide->grGetRegistryOrEnvironmentStringExt("SSTH3_SLI_AA_CONFIGURATION"))) {
- sliaa = atoi(str);
- } else {
- sliaa = 0;
- }
- switch (colDepth) {
- case 15:
- if ((numChips == 4) && (sliaa == 8)) {
- pixFmt = GR_PIXFMT_AA_8_ARGB_1555;
- fsaa = 8;
- } else if (((numChips == 4) && (sliaa == 7)) || ((numChips == 2) && (sliaa == 4))) {
- pixFmt = GR_PIXFMT_AA_4_ARGB_1555;
- fsaa = 4;
- } else if (((numChips == 4) && (sliaa == 6)) || ((numChips == 2) && (sliaa == 3)) || ((numChips == 1) && (sliaa == 1))) {
- pixFmt = GR_PIXFMT_AA_2_ARGB_1555;
- fsaa = 2;
- } else {
- fsaa = 0;
- }
- break;
- case 16:
- if ((numChips == 4) && (sliaa == 8)) {
- pixFmt = GR_PIXFMT_AA_8_RGB_565;
- fsaa = 8;
- } else if (((numChips == 4) && (sliaa == 7)) || ((numChips == 2) && (sliaa == 4))) {
- pixFmt = GR_PIXFMT_AA_4_RGB_565;
- fsaa = 4;
- } else if (((numChips == 4) && (sliaa == 6)) || ((numChips == 2) && (sliaa == 3)) || ((numChips == 1) && (sliaa == 1))) {
- pixFmt = GR_PIXFMT_AA_2_RGB_565;
- fsaa = 2;
- } else {
- fsaa = 0;
- }
- break;
- case 32:
- if ((numChips == 4) && (sliaa == 8)) {
- pixFmt = GR_PIXFMT_AA_8_ARGB_8888;
- fsaa = 8;
- } else if (((numChips == 4) && (sliaa == 7)) || ((numChips == 2) && (sliaa == 4))) {
- pixFmt = GR_PIXFMT_AA_4_ARGB_8888;
- fsaa = 4;
- } else if (((numChips == 4) && (sliaa == 6)) || ((numChips == 2) && (sliaa == 3)) || ((numChips == 1) && (sliaa == 1))) {
- pixFmt = GR_PIXFMT_AA_2_ARGB_8888;
- fsaa = 2;
- } else {
- fsaa = 0;
- }
- break;
- default: /* NOTREACHED */
- str = "pixelFormat";
- goto errorhandler;
- }
- fxMesa->fsaa = fsaa;
-
BEGIN_BOARD_LOCK();
if (fxMesa->HavePixExt) {
fxMesa->glideContext = Glide->grSstWinOpenExt((FxU32)win, res, ref,
@@ -492,32 +546,27 @@ fxMesaCreateContext(GLuint win,
goto errorhandler;
}
- /*
- * Pixel tables are used during pixel read-back
- * Either initialize them for RGB or BGR order;
- * However, 32bit capable cards have the right order.
- * As a consequence, 32bit read-back is not swizzled!
- * Also determine if we need vertex snapping.
- */
- switch (voodoo->type) {
- case GR_SSTTYPE_VOODOO:
- case GR_SSTTYPE_Banshee:
- useBGR = GL_TRUE;
- fxMesa->snapVertices = GL_TRUE;
- break;
- case GR_SSTTYPE_Voodoo2:
- useBGR = GL_TRUE;
- fxMesa->snapVertices = GL_FALSE;
- break;
- case GR_SSTTYPE_Voodoo3:
- case GR_SSTTYPE_Voodoo4:
- case GR_SSTTYPE_Voodoo5:
- default:
- useBGR = GL_FALSE;
- fxMesa->snapVertices = GL_FALSE;
- break;
- }
-
+ /* Not that it matters, but tmuRam and fbRam change after grSstWinOpen. */
+ tmuRam = voodoo->tmuConfig[GR_TMU0].tmuRam;
+ fbRam = voodoo->fbRam;
+ BEGIN_BOARD_LOCK();
+ {
+ FxI32 result;
+ grGet(GR_MEMORY_TMU, 4, &result);
+ tmuRam = result / (1024 * 1024);
+ grGet(GR_MEMORY_FB, 4, &result);
+ fbRam = result / 1024;
+ }
+ END_BOARD_LOCK();
+
+ sprintf(fxMesa->rendererString, "Mesa %s v0.51 %s %dkB FB, %dMB TM, %d TMU, %s",
+ grGetString(GR_RENDERER),
+ grGetString(GR_HARDWARE),
+ fbRam,
+ tmuRam * voodoo->nTexelfx,
+ voodoo->nTexelfx,
+ (voodoo->numChips > 1) ? "SLI" : "NOSLI");
+
fxInitPixelTables(fxMesa, useBGR);
/* screen */
@@ -534,7 +583,7 @@ fxMesaCreateContext(GLuint win,
fxMesa->clipMinY = 0;
fxMesa->clipMaxY = fxMesa->height;
- if (verbose) {
+ if (fxMesa->verbose) {
char buf[80];
strcpy(buf, grGetString(GR_VERSION));
@@ -547,7 +596,7 @@ fxMesaCreateContext(GLuint win,
fprintf(stderr, "Voodoo pixel order = %s, vertex snapping = %d\n",
useBGR ? "BGR" : "RGB",
fxMesa->snapVertices);
- fprintf(stderr, "Voodoo screen: %dx%d.%d\n",
+ fprintf(stderr, "Voodoo screen: %dx%d:%d\n",
fxMesa->screen_width, fxMesa->screen_height, colDepth);
}
diff --git a/src/mesa/drivers/glide/fxdd.c b/src/mesa/drivers/glide/fxdd.c
index a8109273db..74fc496485 100644
--- a/src/mesa/drivers/glide/fxdd.c
+++ b/src/mesa/drivers/glide/fxdd.c
@@ -2,7 +2,7 @@
* fxDDReadPixels888 does not convert 8A8R8G8B into 5R5G5B
*/
-/* $Id: fxdd.c,v 1.101 2003/10/09 15:12:21 dborca Exp $ */
+/* $Id: fxdd.c,v 1.102 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -1237,7 +1237,6 @@ fx_check_IsInHardware(GLcontext * ctx)
return FX_FALLBACK_TEXTURE_1D_3D;
if (ctx->Texture.Unit[0]._ReallyEnabled & TEXTURE_2D_BIT) {
-#if 0
if (ctx->Texture.Unit[0].EnvMode == GL_BLEND &&
(ctx->Texture.Unit[1]._ReallyEnabled & TEXTURE_2D_BIT ||
ctx->Texture.Unit[0].EnvColor[0] != 0 ||
@@ -1246,16 +1245,13 @@ fx_check_IsInHardware(GLcontext * ctx)
ctx->Texture.Unit[0].EnvColor[3] != 1)) {
return FX_FALLBACK_TEXTURE_ENV;
}
-#endif
if (ctx->Texture.Unit[0]._Current->Image[0]->Border > 0)
return FX_FALLBACK_TEXTURE_BORDER;
}
if (ctx->Texture.Unit[1]._ReallyEnabled & TEXTURE_2D_BIT) {
-#if 0
if (ctx->Texture.Unit[1].EnvMode == GL_BLEND)
return FX_FALLBACK_TEXTURE_ENV;
-#endif
if (ctx->Texture.Unit[1]._Current->Image[0]->Border > 0)
return FX_FALLBACK_TEXTURE_BORDER;
}
@@ -1293,12 +1289,10 @@ fx_check_IsInHardware(GLcontext * ctx)
return FX_FALLBACK_TEXTURE_MULTI;
}
-#if 0
if ((ctx->Texture.Unit[0]._ReallyEnabled & TEXTURE_2D_BIT) &&
(ctx->Texture.Unit[0].EnvMode == GL_BLEND)) {
return FX_FALLBACK_TEXTURE_ENV;
}
-#endif
}
return 0;
diff --git a/src/mesa/drivers/glide/fxddtex.c b/src/mesa/drivers/glide/fxddtex.c
index 3ae22b6070..77c7ef3c9e 100644
--- a/src/mesa/drivers/glide/fxddtex.c
+++ b/src/mesa/drivers/glide/fxddtex.c
@@ -1,4 +1,4 @@
-/* $Id: fxddtex.c,v 1.49 2003/10/09 15:12:21 dborca Exp $ */
+/* $Id: fxddtex.c,v 1.50 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -511,7 +511,6 @@ fxTexGetInfo(int w, int h, GrLOD_t * lodlevel, GrAspectRatio_t * ar,
float *sscale, float *tscale,
int *wscale, int *hscale)
{
- /* [koolsmoky] */
static GrLOD_t lod[12] = {
GR_LOD_LOG2_1,
GR_LOD_LOG2_2,
@@ -983,10 +982,8 @@ fxGlideFormat(GLint mesaFormat)
return GR_TEXFMT_ARGB_4444;
case MESA_FORMAT_ARGB1555:
return GR_TEXFMT_ARGB_1555;
-#if 1 /* [koolsmoky] getting ready for 32bpp textures */
case MESA_FORMAT_ARGB8888:
return GR_TEXFMT_ARGB_8888;
-#endif
#if 0
case MESA_FORMAT_RGB_DXT1:
case MESA_FORMAT_RGBA_DXT1:
@@ -1027,10 +1024,8 @@ fxFetchFunction(GLint mesaFormat)
return fetch_r4g4b4a4;
case MESA_FORMAT_ARGB1555:
return fetch_r5g5b5a1;
-#if 1 /* [koolsmoky] getting ready for 32bpp textures */
case MESA_FORMAT_ARGB8888:
return fetch_a8r8g8b8;
-#endif
#if 0
case MESA_FORMAT_RGB_DXT1:
case MESA_FORMAT_RGBA_DXT1:
diff --git a/src/mesa/drivers/glide/fxglidew.c b/src/mesa/drivers/glide/fxglidew.c
index 6e89f00ed8..e20949e062 100644
--- a/src/mesa/drivers/glide/fxglidew.c
+++ b/src/mesa/drivers/glide/fxglidew.c
@@ -1,4 +1,4 @@
-/* $Id: fxglidew.c,v 1.22 2003/10/02 17:36:44 brianp Exp $ */
+/* $Id: fxglidew.c,v 1.23 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -205,11 +205,11 @@ FX_grSstQueryHardware(GrHwConfiguration * config)
} else if (strstr(extension, "Voodoo5")) {
config->SSTs[i].type = GR_SSTTYPE_Voodoo5;
} else { /* Voodoo1,2,rush */
- /* ZZZ TO DO */
+ /* ZZZ TO DO: Need to distinguish whether we have V1 or V2 or Rush. */
config->SSTs[i].type = GR_SSTTYPE_VOODOO;
}
- grGet(GR_MEMORY_FB, 4, &result);
+ grGet(GR_MEMORY_FB, 4, &result); /* ZZZ: differs after grSstWinOpen */
config->SSTs[i].fbRam = result / (1024 * 1024);
grGet(GR_NUM_TMU, 4, &result);
@@ -219,7 +219,7 @@ FX_grSstQueryHardware(GrHwConfiguration * config)
config->SSTs[i].fbiRev = result;
for (j = 0; j < config->SSTs[i].nTexelfx; j++) {
- grGet(GR_MEMORY_TMU, 4, &result);
+ grGet(GR_MEMORY_TMU, 4, &result); /* ZZZ: differs after grSstWinOpen */
config->SSTs[i].tmuConfig[j].tmuRam = result / (1024 * 1024);
grGet(GR_REVISION_TMU, 4, &result);
config->SSTs[i].tmuConfig[j].tmuRev = result;
@@ -232,12 +232,10 @@ FX_grSstQueryHardware(GrHwConfiguration * config)
config->SSTs[i].HaveMirExt = (strstr(extension, " TEXMIRROR ") != NULL);
config->SSTs[i].HaveTexus2 = GL_FALSE;
- /* need to get the number of SLI units for napalm */
+ /* number of Voodoo chips */
grGet(GR_NUM_FB, 4, (void *) &numFB);
config->SSTs[i].numChips = numFB;
- /* this can only be useful for Voodoo2:
- * sliDetect = ((config->SSTs[i].type == GR_SSTTYPE_Voodoo2) && (numFB > 1));
- */
+
}
tdfx_hook_glide(&config->Glide);
diff --git a/src/mesa/drivers/glide/fxglidew.h b/src/mesa/drivers/glide/fxglidew.h
index 324b5d99f0..fb354ffd6f 100644
--- a/src/mesa/drivers/glide/fxglidew.h
+++ b/src/mesa/drivers/glide/fxglidew.h
@@ -1,4 +1,4 @@
-/* $Id: fxglidew.h,v 1.17 2003/10/09 15:12:21 dborca Exp $ */
+/* $Id: fxglidew.h,v 1.18 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -71,7 +71,7 @@ typedef struct {
int fbRam; /* 1, 2, or 4 MB */
int fbiRev; /* Rev of Pixelfx chip */
int nTexelfx; /* How many texelFX chips are there? */
- int numChips; /* Number of Voodoo chips [koolsmoky] */
+ int numChips; /* Number of Voodoo chips */
GrTMUConfig_t tmuConfig[GLIDE_NUM_TMU]; /* Configuration of the Texelfx chips */
/* Glide3 extensions */
FxBool HavePixExt; /* PIXEXT */
diff --git a/src/mesa/drivers/glide/fxsetup.c b/src/mesa/drivers/glide/fxsetup.c
index 2959fede15..d9c42dd088 100644
--- a/src/mesa/drivers/glide/fxsetup.c
+++ b/src/mesa/drivers/glide/fxsetup.c
@@ -1,4 +1,4 @@
-/* $Id: fxsetup.c,v 1.41 2003/10/09 15:12:21 dborca Exp $ */
+/* $Id: fxsetup.c,v 1.42 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -549,6 +549,12 @@ fxSetupTextureSingleTMU_NoLock(GLcontext * ctx, GLuint textureset)
}
break;
case GL_BLEND:
+#if 1
+ if (TDFX_DEBUG & VERBOSE_DRIVER) {
+ fprintf(stderr, "%s: GL_BLEND not quite supported\n", __FUNCTION__);
+ }
+ return;
+#else
/*
* XXX we can't do real GL_BLEND mode. These settings assume that
* the TexEnv color is black and incoming fragment color is white.
@@ -584,10 +590,8 @@ fxSetupTextureSingleTMU_NoLock(GLcontext * ctx, GLuint textureset)
colorComb.Invert = FXTRUE;
}
/* XXX return GL_FALSE for modes we don't support */
- if (TDFX_DEBUG & VERBOSE_DRIVER) {
- fprintf(stderr, "%s: GL_BLEND not quite supported\n", __FUNCTION__);
- }
break;
+#endif
case GL_REPLACE:
if ((ifmt == GL_RGB) || (ifmt == GL_LUMINANCE)) {
alphaComb.Function = GR_COMBINE_FUNCTION_LOCAL;
diff --git a/src/mesa/drivers/glide/fxwgl.c b/src/mesa/drivers/glide/fxwgl.c
index 1337585aec..f03def4996 100644
--- a/src/mesa/drivers/glide/fxwgl.c
+++ b/src/mesa/drivers/glide/fxwgl.c
@@ -1,4 +1,4 @@
-/* $Id: fxwgl.c,v 1.18 2003/10/02 17:36:45 brianp Exp $ */
+/* $Id: fxwgl.c,v 1.19 2003/10/13 11:14:58 dborca Exp $ */
/*
* Mesa 3-D graphics library
@@ -166,7 +166,7 @@ struct __pixelformat__ pix[] = {
FXMESA_NONE}
}
,
-#if 1
+#if 0
/* 24bit RGB888 single buffer with depth */
{
{sizeof(PIXELFORMATDESCRIPTOR), 1,
diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index b6cb487c2e..6ebda0c14f 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -1775,7 +1775,7 @@ XMesaBuffer XMesaCreateWindowBuffer2( XMesaVisual v, XMesaWindow w,
int hw;
if (v->mesa_visual.depthBits > 0) {
attribs[numAttribs++] = FXMESA_DEPTH_SIZE;
- attribs[numAttribs++] = 1;
+ attribs[numAttribs++] = v->mesa_visual.depthBits;
}
if (v->mesa_visual.doubleBufferMode) {
attribs[numAttribs++] = FXMESA_DOUBLEBUFFER;
@@ -1790,16 +1790,16 @@ XMesaBuffer XMesaCreateWindowBuffer2( XMesaVisual v, XMesaWindow w,
}
if (v->mesa_visual.alphaBits > 0) {
attribs[numAttribs++] = FXMESA_ALPHA_SIZE;
- attribs[numAttribs++] = 1;
+ attribs[numAttribs++] = v->mesa_visual.alphaBits;
}
if (1) {
-#define FXMESA_SHARE_CONTEXT 990099 /* keep in sync with fxapi.c! */
attribs[numAttribs++] = FXMESA_SHARE_CONTEXT;
attribs[numAttribs++] = (int) &(c->mesa);
}
attribs[numAttribs++] = FXMESA_NONE;
- if ((hw = fxQueryHardware())==GR_SSTTYPE_VOODOO) {
+ /* [dBorca] need to revise this ASAP!!! */
+ /*if ((hw = fxQueryHardware())==GR_SSTTYPE_VOODOO) {
b->FXctx = fxMesaCreateBestContext(0, b->width, b->height, attribs);
if ((v->undithered_pf!=PF_Index) && (b->backimage)) {
b->FXisHackUsable = b->FXctx ? GL_TRUE : GL_FALSE;
@@ -1809,7 +1809,7 @@ XMesaBuffer XMesaCreateWindowBuffer2( XMesaVisual v, XMesaWindow w,
b->FXwindowHack = GL_FALSE;
}
}
- else {
+ else */{
if (fxEnvVar[0]=='w' || fxEnvVar[0]=='W')
b->FXctx = fxMesaCreateContext(w, GR_RESOLUTION_NONE,
GR_REFRESH_75Hz, attribs);
diff --git a/src/mesa/drivers/x11/xmesaP.h b/src/mesa/drivers/x11/xmesaP.h
index bb014a0df3..36a610a4f9 100644
--- a/src/mesa/drivers/x11/xmesaP.h
+++ b/src/mesa/drivers/x11/xmesaP.h
@@ -40,7 +40,7 @@
#include "mtypes.h"
#if defined(FX)
#include "GL/fxmesa.h"
-#include "FX/fxdrv.h"
+#include "../glide/fxdrv.h"
#endif