From: Ian Romanick <ian.d.roman...@intel.com> Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> --- src/mesa/main/uniform_query.cpp | 9 ++++++--- src/mesa/main/uniforms.h | 19 ------------------- 2 files changed, 6 insertions(+), 22 deletions(-)
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index 2dc9f27..5989364 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -267,9 +267,7 @@ validate_uniform_parameters(struct gl_context *ctx, INACTIVE_UNIFORM_EXPLICIT_LOCATION) return NULL; - unsigned loc; - _mesa_uniform_split_location_offset(shProg, location, &loc, array_index); - struct gl_uniform_storage *const uni = &shProg->UniformStorage[loc]; + struct gl_uniform_storage *const uni = shProg->UniformRemapTable[location]; if (uni->array_elements == 0 && count > 1) { _mesa_error(ctx, GL_INVALID_OPERATION, @@ -278,6 +276,11 @@ validate_uniform_parameters(struct gl_context *ctx, return NULL; } + /* The array index specified by the uniform location is just the uniform + * location minus the base location of of the uniform. + */ + *array_index = location - uni->remap_location; + /* If the uniform is an array, check that array_index is in bounds. * If not an array, check that array_index is zero. * array_index is unsigned so no need to check for less than zero. diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h index 10518dc..3e16483 100644 --- a/src/mesa/main/uniforms.h +++ b/src/mesa/main/uniforms.h @@ -364,25 +364,6 @@ _mesa_uniform_merge_location_offset(const struct gl_shader_program *prog, return prog->UniformStorage[storage_index].remap_location + uniform_array_index; } - -/** - * Separate the uniform storage index and array index - */ -static inline void -_mesa_uniform_split_location_offset(const struct gl_shader_program *prog, - GLint location, unsigned *storage_index, - unsigned *uniform_array_index) -{ - *storage_index = prog->UniformRemapTable[location] - prog->UniformStorage; - *uniform_array_index = location - - prog->UniformRemapTable[location]->remap_location; - - /*gl_uniform_storage in UniformStorage with the calculated base_location - * must match with the entry in remap table - */ - assert(&prog->UniformStorage[*storage_index] == - prog->UniformRemapTable[location]); -} /*@}*/ -- 1.8.1.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev