[Mesa-dev] [PATCH 4/5] mesa: Fold _mesa_uniform_split_location_offset into its only caller
Ian Romanick
idr at freedesktop.org
Fri Aug 1 19:09:18 PDT 2014
From: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Ian Romanick <ian.d.romanick at 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
More information about the mesa-dev
mailing list