glsl: asst. clean-ups in set_program_uniform()

Remove redunant type check for samplers (assert instead).
Move some local vars.  Update comments.
This commit is contained in:
Brian Paul
2009-08-26 14:35:45 -06:00
parent 7205221051
commit 6df38e6f5a
+7 -14
View File
@@ -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 */