From: Brian Paul Date: Wed, 26 Aug 2009 20:35:45 +0000 (-0600) Subject: glsl: asst. clean-ups in set_program_uniform() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6df38e6f5a6d8f0b86928cb2b52c09d1fbe6bbff;p=mesa.git glsl: asst. clean-ups in set_program_uniform() Remove redunant type check for samplers (assert instead). Move some local vars. Update comments. --- diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c index 1b604f0713c..23aca3000e9 100644 --- a/src/mesa/shader/shader_api.c +++ b/src/mesa/shader/shader_api.c @@ -1612,10 +1612,8 @@ set_program_uniform(GLcontext *ctx, struct gl_program *program, GLenum type, GLsizei count, GLint elems, const void *values) { - struct gl_program_parameter *param = + const struct gl_program_parameter *param = &program->Parameters->Parameters[index]; - const GLboolean isUniformBool = is_boolean_type(param->DataType); - const GLboolean areIntValues = is_integer_type(type); assert(offset >= 0); assert(elems >= 1); @@ -1635,17 +1633,10 @@ set_program_uniform(GLcontext *ctx, struct gl_program *program, /* This controls which texture unit which is used by a sampler */ GLint i; - /* data type for setting samplers must be int */ - if (type != GL_INT) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glUniform(only glUniform1i can be used " - "to set sampler uniforms)"); - return; - } + /* this should have been caught by the compatible_types() check */ + ASSERT(type == GL_INT); - /* XXX arrays of samplers haven't been tested much, but it's not a - * common thing... - */ + /* loop over number of samplers to change */ for (i = 0; i < count; i++) { GLuint sampler = (GLuint) program->Parameters->ParameterValues[index + offset + i][0]; @@ -1674,9 +1665,11 @@ set_program_uniform(GLcontext *ctx, struct gl_program *program, } else { /* ordinary uniform variable */ - GLsizei k, i; + const GLboolean isUniformBool = is_boolean_type(param->DataType); + const GLboolean areIntValues = is_integer_type(type); const GLint slots = (param->Size + 3) / 4; const GLint typeSize = sizeof_glsl_type(param->DataType); + GLsizei k, i; if (param->Size > typeSize) { /* an array */