summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/nouveau/nouveau_state.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-03-18 14:18:55 +0100
committerFrancisco Jerez <currojerez@riseup.net>2010-03-18 15:02:36 +0100
commitc944fb5ffe7cf16154d6395001f43a6c965cab1f (patch)
treea0533cefa8ebf06d2ecdc528ad930dd89ab7a8fb /src/mesa/drivers/dri/nouveau/nouveau_state.c
parent1a812ab57a71d16e45ca44de7ae0570d2bd46674 (diff)
downloadexternal_mesa3d-c944fb5ffe7cf16154d6395001f43a6c965cab1f.zip
external_mesa3d-c944fb5ffe7cf16154d6395001f43a6c965cab1f.tar.gz
external_mesa3d-c944fb5ffe7cf16154d6395001f43a6c965cab1f.tar.bz2
dri/nouveau: Implement texcoord generation.
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nouveau_state.c')
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_state.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c
index 603a46e..ef2cc78 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_state.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c
@@ -234,6 +234,13 @@ nouveau_enable(GLcontext *ctx, GLenum cap, GLboolean state)
context_dirty_i(ctx, TEX_ENV, ctx->Texture.CurrentUnit);
context_dirty_i(ctx, TEX_OBJ, ctx->Texture.CurrentUnit);
break;
+ case GL_TEXTURE_GEN_S:
+ case GL_TEXTURE_GEN_T:
+ case GL_TEXTURE_GEN_R:
+ case GL_TEXTURE_GEN_Q:
+ context_dirty_i(ctx, TEX_GEN, ctx->Texture.CurrentUnit);
+ context_dirty(ctx, MODELVIEW);
+ break;
}
}
@@ -368,7 +375,15 @@ static void
nouveau_tex_gen(GLcontext *ctx, GLenum coord, GLenum pname,
const GLfloat *params)
{
- context_dirty_i(ctx, TEX_GEN, ctx->Texture.CurrentUnit);
+ switch (pname) {
+ case GL_TEXTURE_GEN_MODE:
+ context_dirty_i(ctx, TEX_GEN, ctx->Texture.CurrentUnit);
+ context_dirty(ctx, MODELVIEW);
+ break;
+ default:
+ context_dirty_i(ctx, TEX_GEN, ctx->Texture.CurrentUnit);
+ break;
+ }
}
static void