glide driver (wip)

This commit is contained in:
Daniel Borca
2003-10-13 11:14:58 +00:00
parent 6c520ef3d3
commit fd83bc2b33
11 changed files with 203 additions and 162 deletions
+4 -4
View File
@@ -527,10 +527,10 @@ linux-glide:
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
"CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE" \
"GLUT_CFLAGS = -fexceptions" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L/usr/local/glide/lib -lglide2x" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L/usr/local/glide/lib -lglide3x" \
"GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
"GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -lglut -lGLU -lGL"
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide3x -lglut -lGLU -lGL"
linux-x86-glide:
$(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -544,7 +544,7 @@ linux-x86-glide:
"CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
"CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE" \
"GLUT_CFLAGS = -fexceptions" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
"GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide3x -lm -lpthread" \
"GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
"GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
"GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
@@ -1090,5 +1090,5 @@ linux-glide-debug:
"CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DFX -DDEBUG -I/usr/local/glide/include -I/usr/include/glide" \
"CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG" \
"GLUT_CFLAGS = -fexceptions" \
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide2x -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lvga -lm -lpthread"
"APP_LIB_DEPS = -L/usr/local/glide/lib -lglide3x -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lvga -lm -lpthread"
+2 -1
View File
@@ -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 \
+171 -122
View File
@@ -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");
/*
* 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 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:
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;
pixFmt = GR_PIXFMT_ARGB_1555;
break;
case 16:
redBits = 5;
greenBits = 6;
blueBits = 5;
alphaBits = depthSize ? 0 : 8;
pixFmt = GR_PIXFMT_RGB_565;
break;
case 32:
redBits = 8;
greenBits = 8;
blueBits = 8;
alphaBits = 8;
pixFmt = GR_PIXFMT_ARGB_8888;
break;
default:
str = "pixelFormat";
goto errorhandler;
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);
}
+1 -7
View File
@@ -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;
+1 -6
View File
@@ -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:
+6 -8
View File
@@ -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);
+2 -2
View File
@@ -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 */
+8 -4
View File
@@ -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;
+2 -2
View File
@@ -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,
+5 -5
View File
@@ -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);
+1 -1
View File
@@ -40,7 +40,7 @@
#include "mtypes.h"
#if defined(FX)
#include "GL/fxmesa.h"
#include "FX/fxdrv.h"
#include "../glide/fxdrv.h"
#endif