diff options
Diffstat (limited to 'src/mesa/vbo')
-rw-r--r-- | src/mesa/vbo/vbo_context.h | 4 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_exec_api.c | 1 | ||||
-rw-r--r-- | src/mesa/vbo/vbo_save_draw.c | 1 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/vbo/vbo_context.h b/src/mesa/vbo/vbo_context.h index 0dc1019b39f..013f81bdd5c 100644 --- a/src/mesa/vbo/vbo_context.h +++ b/src/mesa/vbo/vbo_context.h @@ -96,9 +96,9 @@ enum { static INLINE GLuint get_program_mode( GLcontext *ctx ) { - if (!ctx->VertexProgram._Enabled) + if (!ctx->VertexProgram._Current) return VP_NONE; - else if (ctx->VertexProgram.Current->IsNVProgram) + else if (ctx->VertexProgram._Current->IsNVProgram) return VP_NV; else return VP_ARB; diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 71fee8ca16e..c30fd18e2d6 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -486,6 +486,7 @@ static void GLAPIENTRY vbo_exec_Begin( GLenum mode ) if (ctx->NewState) { _mesa_update_state( ctx ); + /* XXX also need to check if shader enabled, but invalid */ if ((ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) || (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled)) { _mesa_error(ctx, GL_INVALID_OPERATION, diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c index bc59a0d8211..75cbf020d7d 100644 --- a/src/mesa/vbo/vbo_save_draw.c +++ b/src/mesa/vbo/vbo_save_draw.c @@ -203,6 +203,7 @@ void vbo_save_playback_vertex_list( GLcontext *ctx, void *data ) if (ctx->NewState) _mesa_update_state( ctx ); + /* XXX also need to check if shader enabled, but invalid */ if ((ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) || (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled)) { _mesa_error(ctx, GL_INVALID_OPERATION, |