Explorar el Código

glsl: asst. clean-ups in set_program_uniform()

Remove redunant type check for samplers (assert instead).
Move some local vars.  Update comments.
tags/mesa_7_6_rc1
Brian Paul hace 16 años
padre
commit
6df38e6f5a
Se han modificado 1 ficheros con 7 adiciones y 14 borrados
  1. 7
    14
      src/mesa/shader/shader_api.c

+ 7
- 14
src/mesa/shader/shader_api.c Ver fichero

@@ -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 */

Cargando…
Cancelar
Guardar