diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 1999-09-18 20:41:22 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 1999-09-18 20:41:22 +0000 |
commit | 1bf9dfaf5dea61e3d33a69b0a549be54ef6d74df (patch) | |
tree | ac7671bdd63c0de5bdc7e60af521b0fc4418238d /src/mesa/drivers/glide/fxdd.c | |
parent | 56b58668e86e6156555e36050df14b49faa14f31 (diff) |
Large patch:
- FX bug fixes.
- Polygon mode and edgeflag work properly.
- Clipping works with edgeflag.
- Driver.ReducedPrimitiveChange() callback so drivers
that implement lines & points as triangles can turn culling off
before rendering groups of these primitives.
- Cleaned up feedback & select primitives.
Diffstat (limited to 'src/mesa/drivers/glide/fxdd.c')
-rw-r--r-- | src/mesa/drivers/glide/fxdd.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/mesa/drivers/glide/fxdd.c b/src/mesa/drivers/glide/fxdd.c index 7dc921b900..0c0b827795 100644 --- a/src/mesa/drivers/glide/fxdd.c +++ b/src/mesa/drivers/glide/fxdd.c @@ -448,8 +448,9 @@ static GLboolean fxIsInHardware(GLcontext *ctx) (ctx->Color.ColorMask[GCOMP]==ctx->Color.ColorMask[BCOMP]) && (ctx->Color.ColorMask[ACOMP]==ctx->Color.ColorMask[ACOMP]))) ) - return GL_FALSE; - + { + return GL_FALSE; + } /* Unsupported texture/multitexture cases */ if(fxMesa->emulateTwoTMUs) { @@ -525,7 +526,7 @@ static void fxDDUpdateDDPointers(GLcontext *ctx) if (MESA_VERBOSE&(VERBOSE_DRIVER|VERBOSE_STATE)) fprintf(stderr,"fxmesa: fxDDUpdateDDPointers(...)\n"); - if (new_state & (NEW_RASTER_OPS|NEW_TEXTURING)) + if (new_state & (NEW_RASTER_OPS|NEW_TEXTURING)) fxMesa->is_in_hardware = fxIsInHardware(ctx); if (fxMesa->is_in_hardware) { @@ -546,14 +547,8 @@ static void fxDDUpdateDDPointers(GLcontext *ctx) ctx->Driver.LineFunc=fxMesa->LineFunc; ctx->Driver.TriangleFunc=fxMesa->TriangleFunc; ctx->Driver.QuadFunc=fxMesa->QuadFunc; - } - - ctx->Driver.AllocDepthBuffer=fxAllocDepthBuffer; - ctx->Driver.DepthTestSpan=fxDDDepthTestSpanGeneric; - ctx->Driver.DepthTestPixels=fxDDDepthTestPixelsGeneric; - ctx->Driver.ReadDepthSpanFloat=fxDDReadDepthSpanFloat; - ctx->Driver.ReadDepthSpanInt=fxDDReadDepthSpanInt; - ctx->Driver.RenderStart = 0; + } else + fxMesa->render_index = FX_FALLBACK; } @@ -564,6 +559,12 @@ void fxSetupDDPointers(GLcontext *ctx) } ctx->Driver.UpdateState=fxDDUpdateDDPointers; + + ctx->Driver.AllocDepthBuffer=fxAllocDepthBuffer; + ctx->Driver.DepthTestSpan=fxDDDepthTestSpanGeneric; + ctx->Driver.DepthTestPixels=fxDDDepthTestPixelsGeneric; + ctx->Driver.ReadDepthSpanFloat=fxDDReadDepthSpanFloat; + ctx->Driver.ReadDepthSpanInt=fxDDReadDepthSpanInt; ctx->Driver.GetString=fxDDGetString; |