diff options
author | Marek Olšák <[email protected]> | 2011-05-31 14:59:44 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-06-01 16:03:26 +0200 |
commit | d69dc2e20346397f4734a0760554a51fb4fbb3c0 (patch) | |
tree | 08dd63ec789c97c15e88885d46e48a223358ce20 | |
parent | 37a85b1830188503feb286ebdee0cdb44fa298af (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/main/shaderapi.c | 2 | ||||
-rw-r--r-- | src/mesa/main/uniforms.c | 4 |
2 files changed, 6 insertions, 0 deletions
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)"); |