diff options
author | Felix Kuehling <[email protected]> | 2005-02-12 16:02:30 +0000 |
---|---|---|
committer | Felix Kuehling <[email protected]> | 2005-02-12 16:02:30 +0000 |
commit | f640ee2f6e1b69e332b46e48b3b4e9f33bbc6e39 (patch) | |
tree | 70d661529d5720dbb760c239537b0d9b75709714 | |
parent | 25817dc26bbb195ad3d94a6289ad5075b920c7a0 (diff) |
Fall back properly when GL_COLOR_LOGIC_OP is enabled and != GL_COPY.
Add missing per-primitive fallback for polygon stipple.
-rw-r--r-- | src/mesa/drivers/dri/savage/savagestate.c | 26 | ||||
-rw-r--r-- | src/mesa/drivers/dri/savage/savagetris.c | 3 |
2 files changed, 16 insertions, 13 deletions
diff --git a/src/mesa/drivers/dri/savage/savagestate.c b/src/mesa/drivers/dri/savage/savagestate.c index b417d1e2aae..fd3da8262e7 100644 --- a/src/mesa/drivers/dri/savage/savagestate.c +++ b/src/mesa/drivers/dri/savage/savagestate.c @@ -1179,17 +1179,18 @@ static void savageDDEnable_s4(GLcontext *ctx, GLenum cap, GLboolean state) savageBlendFunc_s4(ctx); break; case GL_BLEND: - /*Can't find Enable bit in the 3D registers.*/ - /* For some reason enable(GL_BLEND) affects ColorLogicOpEnabled. - */ - FALLBACK (ctx, SAVAGE_FALLBACK_LOGICOP, - (ctx->Color.ColorLogicOpEnabled && - ctx->Color.LogicOp != GL_COPY)); /*add the savageBlendFunc 2001/11/25 * if call no such function, then glDisable(GL_BLEND) will do noting, *our chip has no disable bit */ savageBlendFunc_s4(ctx); + case GL_COLOR_LOGIC_OP: + /* Fall through: + * For some reason enable(GL_BLEND) affects ColorLogicOpEnabled. + */ + FALLBACK (ctx, SAVAGE_FALLBACK_LOGICOP, + (ctx->Color.ColorLogicOpEnabled && + ctx->Color.LogicOp != GL_COPY)); break; case GL_DEPTH_TEST: savageDDDepthFunc_s4(ctx,ctx->Depth.Func); @@ -1269,17 +1270,18 @@ static void savageDDEnable_s3d(GLcontext *ctx, GLenum cap, GLboolean state) savageBlendFunc_s3d(ctx); break; case GL_BLEND: - /*Can't find Enable bit in the 3D registers.*/ - /* For some reason enable(GL_BLEND) affects ColorLogicOpEnabled. - */ - FALLBACK (ctx, SAVAGE_FALLBACK_LOGICOP, - (ctx->Color.ColorLogicOpEnabled && - ctx->Color.LogicOp != GL_COPY)); /*add the savageBlendFunc 2001/11/25 * if call no such function, then glDisable(GL_BLEND) will do noting, *our chip has no disable bit */ savageBlendFunc_s3d(ctx); + case GL_COLOR_LOGIC_OP: + /* Fall through: + * For some reason enable(GL_BLEND) affects ColorLogicOpEnabled. + */ + FALLBACK (ctx, SAVAGE_FALLBACK_LOGICOP, + (ctx->Color.ColorLogicOpEnabled && + ctx->Color.LogicOp != GL_COPY)); break; case GL_DEPTH_TEST: savageDDDepthFunc_s3d(ctx,ctx->Depth.Func); diff --git a/src/mesa/drivers/dri/savage/savagetris.c b/src/mesa/drivers/dri/savage/savagetris.c index f5faa3fe568..405a58977b6 100644 --- a/src/mesa/drivers/dri/savage/savagetris.c +++ b/src/mesa/drivers/dri/savage/savagetris.c @@ -690,6 +690,7 @@ static void savageFastRenderClippedPoly( GLcontext *ctx, const GLuint *elts, #define _SAVAGE_NEW_RENDER_STATE (_DD_NEW_LINE_STIPPLE | \ _DD_NEW_LINE_SMOOTH | \ _DD_NEW_POINT_SMOOTH | \ + _DD_NEW_TRI_STIPPLE | \ _DD_NEW_TRI_SMOOTH | \ _DD_NEW_TRI_UNFILLED | \ _DD_NEW_TRI_LIGHT_TWOSIDE | \ @@ -698,7 +699,7 @@ static void savageFastRenderClippedPoly( GLcontext *ctx, const GLuint *elts, /* original driver didn't have DD_POINT_SMOOTH. really needed? */ #define POINT_FALLBACK (DD_POINT_SMOOTH) #define LINE_FALLBACK (DD_LINE_STIPPLE|DD_LINE_SMOOTH) -#define TRI_FALLBACK (DD_TRI_SMOOTH) +#define TRI_FALLBACK (DD_TRI_STIPPLE|DD_TRI_SMOOTH) #define ANY_FALLBACK_FLAGS (POINT_FALLBACK|LINE_FALLBACK|TRI_FALLBACK) #define ANY_RASTER_FLAGS (DD_TRI_LIGHT_TWOSIDE|DD_TRI_OFFSET|DD_TRI_UNFILLED) |