mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 11:38:05 +02:00
mesa: Fold _mesa_uniform_split_location_offset into its only caller
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
e0c867372a
commit
1c759e32d8
2 changed files with 6 additions and 22 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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]);
|
||||
}
|
||||
/*@}*/
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue