diff options
author | marha <marha@users.sourceforge.net> | 2012-01-26 10:45:42 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-01-26 10:45:42 +0100 |
commit | 40bdd8b27f5c730b8d0c9a189e89fb51a5400611 (patch) | |
tree | 23d7ead2d11ebc95c1d0a5e57cdb2ee5b358110b /mesalib/src/mesa/state_tracker/st_context.c | |
parent | ffbc36adb7ea5781a93731212226c47f1d49da5e (diff) | |
parent | eb4c088eb71f93b9639f4ff651523d794f1433f7 (diff) | |
download | vcxsrv-40bdd8b27f5c730b8d0c9a189e89fb51a5400611.tar.gz vcxsrv-40bdd8b27f5c730b8d0c9a189e89fb51a5400611.tar.bz2 vcxsrv-40bdd8b27f5c730b8d0c9a189e89fb51a5400611.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_context.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_context.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_context.c b/mesalib/src/mesa/state_tracker/st_context.c index dc1d33f1d..a3fd4dbcb 100644 --- a/mesalib/src/mesa/state_tracker/st_context.c +++ b/mesalib/src/mesa/state_tracker/st_context.c @@ -76,6 +76,17 @@ void st_invalidate_state(struct gl_context * ctx, GLuint new_state) { struct st_context *st = st_context(ctx); + /* Replace _NEW_FRAG_CLAMP with ST_NEW_FRAGMENT_PROGRAM for the fallback. */ + if (st->clamp_frag_color_in_shader && (new_state & _NEW_FRAG_CLAMP)) { + new_state &= ~_NEW_FRAG_CLAMP; + st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; + } + + /* Update the vertex shader if ctx->Light._ClampVertexColor was changed. */ + if (st->clamp_vert_color_in_shader && (new_state & _NEW_LIGHT)) { + st->dirty.st |= ST_NEW_VERTEX_PROGRAM; + } + st->dirty.mesa |= new_state; st->dirty.st |= ST_NEW_MESA; |