mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 06:30:10 +01:00
mesa: Minor clean ups in _mesa_uniform
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
9c38d4db52
commit
23dcbf623f
1 changed files with 9 additions and 23 deletions
|
|
@ -587,7 +587,6 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
unsigned src_components)
|
||||
{
|
||||
unsigned offset;
|
||||
unsigned components;
|
||||
|
||||
struct gl_uniform_storage *const uni =
|
||||
validate_uniform_parameters(ctx, shProg, location, count,
|
||||
|
|
@ -597,11 +596,8 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
|
||||
/* Verify that the types are compatible.
|
||||
*/
|
||||
if (uni->type->is_sampler()) {
|
||||
components = 1;
|
||||
} else {
|
||||
components = uni->type->vector_elements;
|
||||
}
|
||||
const unsigned components = uni->type->is_sampler()
|
||||
? 1 : uni->type->vector_elements;
|
||||
|
||||
bool match;
|
||||
switch (uni->type->base_type) {
|
||||
|
|
@ -645,9 +641,7 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
* GL_INVALID_VALUE error and ignore the command.
|
||||
*/
|
||||
if (uni->type->is_sampler()) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
for (int i = 0; i < count; i++) {
|
||||
const unsigned texUnit = ((unsigned *) values)[i];
|
||||
|
||||
/* check that the sampler (tex unit index) is legal */
|
||||
|
|
@ -662,9 +656,7 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
}
|
||||
|
||||
if (uni->type->is_image()) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
for (int i = 0; i < count; i++) {
|
||||
const int unit = ((GLint *) values)[i];
|
||||
|
||||
/* check that the image unit is legal */
|
||||
|
|
@ -704,9 +696,8 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
(const union gl_constant_value *) values;
|
||||
union gl_constant_value *dst = &uni->storage[components * offset];
|
||||
const unsigned elems = components * count;
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < elems; i++) {
|
||||
for (unsigned i = 0; i < elems; i++) {
|
||||
if (basicType == GLSL_TYPE_FLOAT) {
|
||||
dst[i].i = src[i].f != 0.0f ? ctx->Const.UniformBooleanTrue : 0;
|
||||
} else {
|
||||
|
|
@ -723,19 +714,16 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
* the changes through.
|
||||
*/
|
||||
if (uni->type->is_sampler()) {
|
||||
int i;
|
||||
|
||||
bool flushed = false;
|
||||
for (i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
struct gl_shader *const sh = shProg->_LinkedShaders[i];
|
||||
int j;
|
||||
|
||||
/* If the shader stage doesn't use the sampler uniform, skip this.
|
||||
*/
|
||||
if (sh == NULL || !uni->sampler[i].active)
|
||||
continue;
|
||||
|
||||
for (j = 0; j < count; j++) {
|
||||
for (int j = 0; j < count; j++) {
|
||||
sh->SamplerUnits[uni->sampler[i].index + offset + j] =
|
||||
((unsigned *) values)[j];
|
||||
}
|
||||
|
|
@ -777,13 +765,11 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
|
|||
* uniforms to image units present in the shader data structure.
|
||||
*/
|
||||
if (uni->type->is_image()) {
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
for (int i = 0; i < MESA_SHADER_STAGES; i++) {
|
||||
if (uni->image[i].active) {
|
||||
struct gl_shader *sh = shProg->_LinkedShaders[i];
|
||||
|
||||
for (j = 0; j < count; j++)
|
||||
for (int j = 0; j < count; j++)
|
||||
sh->ImageUnits[uni->image[i].index + offset + j] =
|
||||
((GLint *) values)[j];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue