@@ -5,10 +5,10 @@ | |||
#define HWSTR "3dfx Voodoo Graphics, Voodoo^2, Voodoo Banshee, Velocity 100/200, Voodoo3, Voodoo4, Voodoo5" | |||
#define COPYRIGHTSTR "Copyright \251 Brian E. Paul" | |||
#define VERSIONSTR "6.1.0.8" | |||
#define VERSIONSTR "6.1.0.9" | |||
#define MANVERSION 6 | |||
#define MANREVISION 1 | |||
#define BUILD_NUMBER 8 | |||
#define BUILD_NUMBER 9 | |||
VS_VERSION_INFO VERSIONINFO | |||
FILEVERSION MANVERSION, MANREVISION, 0, BUILD_NUMBER |
@@ -818,21 +818,17 @@ fxMesaDestroyContext(fxMesaContext fxMesa) | |||
(unsigned) st.pixelsOut); | |||
} | |||
/* [dBorca] | |||
* close the hardware first, so we can debug | |||
* atexit problems (memory leaks, etc). | |||
* NB: fxDDDestroyFxMesaContext must be called | |||
* before _mesa_destroy_context; which must be | |||
* called before fxTMClose! | |||
/* close the hardware first, | |||
* so we can debug atexit problems (memory leaks, etc). | |||
*/ | |||
grSstWinClose(fxMesa->glideContext); | |||
fxCloseHardware(); | |||
fxDDDestroyFxMesaContext(fxMesa); | |||
fxDDDestroyFxMesaContext(fxMesa); /* must be before _mesa_destroy_context */ | |||
_mesa_destroy_visual(fxMesa->glVis); | |||
_mesa_destroy_context(fxMesa->glCtx); | |||
_mesa_destroy_framebuffer(fxMesa->glBuffer); | |||
fxTMClose(fxMesa); | |||
fxTMClose(fxMesa); /* must be after _mesa_destroy_context */ | |||
FREE(fxMesa); | |||
@@ -100,7 +100,7 @@ | |||
#define HW_WRITE_CLIPLOOP() \ | |||
do { \ | |||
int _nc = 1; /* numcliprects */ \ | |||
const int _nc = 1; /* numcliprects */ \ | |||
/* [dBorca] Hack alert: */ \ | |||
/* remember, we need to flip the scissor, too */ \ | |||
/* is it better to do it inside fxDDScissor? */ \ | |||
@@ -112,7 +112,7 @@ | |||
#define HW_READ_CLIPLOOP() \ | |||
do { \ | |||
int _nc = 1; /* numcliprects */ \ | |||
const int _nc = 1; /* numcliprects */ \ | |||
/* [dBorca] Hack alert: */ \ | |||
/* remember, we need to flip the scissor, too */ \ | |||
/* is it better to do it inside fxDDScissor? */ \ |
@@ -503,10 +503,7 @@ fxSelectSingleTMUSrc_NoLock(fxMesaContext fxMesa, GLint tmu, FxBool LODblend) | |||
tex1.FunctionAlpha = GR_COMBINE_FUNCTION_LOCAL; | |||
tex1.FactorAlpha = GR_COMBINE_FACTOR_NONE; | |||
/* [dBorca] Hack alert: | |||
* don't use GR_COMBINE_FUNCTION_SCALE_OTHER | |||
* such that Glide recognizes TMU0 in passthrough mode | |||
*/ | |||
/* correct values to set TMU0 in passthrough mode */ | |||
tex0.FunctionRGB = GR_COMBINE_FUNCTION_BLEND; | |||
tex0.FactorRGB = GR_COMBINE_FACTOR_ONE; | |||
tex0.FunctionAlpha = GR_COMBINE_FUNCTION_BLEND; | |||
@@ -1374,7 +1371,7 @@ fxDDBlendFuncSeparate(GLcontext * ctx, GLenum sfactor, GLenum dfactor, GLenum as | |||
GLboolean haveAlpha = fxMesa->haveHwAlpha; | |||
GrAlphaBlendFnc_t sfact, dfact, asfact, adfact; | |||
/* [dBorca] Hack alert: | |||
/* | |||
* 15/16 BPP alpha channel alpha blending modes | |||
* 0x0 AZERO Zero | |||
* 0x4 AONE One |
@@ -882,6 +882,7 @@ static void fx_render_vb_triangles( GLcontext *ctx, | |||
{ | |||
fxMesaContext fxMesa = FX_CONTEXT(ctx); | |||
GrVertex *fxVB = fxMesa->verts; | |||
GLuint j; | |||
(void) flags; | |||
if (TDFX_DEBUG & VERBOSE_VARRAY) { | |||
@@ -890,23 +891,9 @@ static void fx_render_vb_triangles( GLcontext *ctx, | |||
INIT(GL_TRIANGLES); | |||
#if 0 | |||
/* [dBorca] | |||
* apparently, this causes troubles with some programs (GLExcess); | |||
* might be a bug in Glide... However, "grDrawVertexArrayContiguous" | |||
* eventually calls "grDrawTriangle" for GR_TRIANGLES, so we're better | |||
* off doing it by hand... | |||
*/ | |||
grDrawVertexArrayContiguous( GR_TRIANGLES, count-start, | |||
fxVB + start, sizeof(GrVertex)); | |||
#else | |||
{ | |||
GLuint j; | |||
for (j=start+2; j<count; j+=3) { | |||
grDrawTriangle(fxVB + (j-2), fxVB + (j-1), fxVB + j); | |||
} | |||
for (j=start+2; j<count; j+=3) { | |||
grDrawTriangle(fxVB + (j-2), fxVB + (j-1), fxVB + j); | |||
} | |||
#endif | |||
} | |||
@@ -1200,10 +1187,7 @@ void fxDDChooseRenderState(GLcontext *ctx) | |||
fxMesa->draw_line = fx_draw_line; | |||
fxMesa->draw_tri = fx_draw_triangle; | |||
/* Hook in fallbacks for specific primitives. | |||
* [dBorca] Hack alert: | |||
* If we're in FSAA mode, we always do anti-aliased primitives. | |||
*/ | |||
/* Hook in fallbacks for specific primitives. */ | |||
if (flags & (POINT_FALLBACK| | |||
LINE_FALLBACK| | |||
TRI_FALLBACK)) |