diff options
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nv04_state_raster.c')
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nv04_state_raster.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c index 5e3788d185..89c6753694 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c +++ b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c @@ -61,6 +61,10 @@ get_stencil_op(unsigned op) switch (op) { case GL_KEEP: return 0x1; + case GL_ZERO: + return 0x2; + case GL_REPLACE: + return 0x3; case GL_INCR: return 0x4; case GL_DECR: @@ -78,8 +82,6 @@ get_texenv_mode(unsigned mode) switch (mode) { case GL_REPLACE: return 0x1; - case GL_ADD: - return 0x2; case GL_DECAL: return 0x3; case GL_MODULATE: @@ -298,7 +300,10 @@ nv04_emit_blend(GLcontext *ctx, int emit) blend |= NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT; /* Texture environment. */ - blend |= get_texenv_mode(ctx->Texture.Unit[0].EnvMode); + if (ctx->Texture._EnabledUnits) + blend |= get_texenv_mode(ctx->Texture.Unit[0].EnvMode); + else + blend |= get_texenv_mode(GL_MODULATE); /* Fog. */ if (ctx->Fog.Enabled) |