diff options
Diffstat (limited to 'src/mesa/main/arbprogram.c')
-rw-r--r-- | src/mesa/main/arbprogram.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/main/arbprogram.c b/src/mesa/main/arbprogram.c index 625dc667f80..b169bce0c57 100644 --- a/src/mesa/main/arbprogram.c +++ b/src/mesa/main/arbprogram.c @@ -37,6 +37,7 @@ #include "main/mtypes.h" #include "main/arbprogram.h" #include "main/shaderapi.h" +#include "main/state.h" #include "program/arbprogparse.h" #include "program/program.h" #include "program/prog_print.h" @@ -133,6 +134,8 @@ _mesa_BindProgramARB(GLenum target, GLuint id) _mesa_reference_program(ctx, &ctx->FragmentProgram.Current, newProg); } + _mesa_update_vertex_processing_mode(ctx); + /* Never null pointers */ assert(ctx->VertexProgram.Current); assert(ctx->FragmentProgram.Current); @@ -369,6 +372,8 @@ _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len, } } + _mesa_update_vertex_processing_mode(ctx); + if (ctx->_Shader->Flags & GLSL_DUMP) { const char *shader_type = target == GL_FRAGMENT_PROGRAM_ARB ? "fragment" : "vertex"; |