From d69dc2e20346397f4734a0760554a51fb4fbb3c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 31 May 2011 14:59:44 +0200 Subject: [PATCH] mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/End I couldn't find this being required by the spec. Reviewed-by: Brian Paul --- src/mesa/main/shaderapi.c | 2 ++ src/mesa/main/uniforms.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 1e237a95da1..cbfbac80296 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1790,6 +1790,8 @@ _mesa_UseShaderProgramEXT(GLenum type, GLuint program) GET_CURRENT_CONTEXT(ctx); struct gl_shader_program *shProg = NULL; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!validate_shader_target(ctx, type)) { _mesa_error(ctx, GL_INVALID_ENUM, "glUseShaderProgramEXT(type)"); return; diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 12fe7b5e226..715ac760ab7 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -855,6 +855,8 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg, struct gl_uniform *uniform; GLint elems, offset; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!shProg || !shProg->LinkStatus) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniform(program not linked)"); return; @@ -1028,6 +1030,8 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg, struct gl_uniform *uniform; GLint offset; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!shProg || !shProg->LinkStatus) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniformMatrix(program not linked)");