[Mesa-dev] [PATCH] mesa: remove initialized field from uniform storage

Brian Paul brianp at vmware.com
Mon Mar 28 14:43:40 UTC 2016


On 03/26/2016 09:51 PM, Timothy Arceri wrote:
> The only place this was used was in a gallium debug function that
> had to be manually enabled.

I think used this years ago to debug something or other.  I guess I can 
re-apply it if I ever need it again.

Reviewed-by: Brian Paul <brianp at vmware.com>


> ---
>   src/compiler/glsl/ir_uniform.h                  |  5 ----
>   src/compiler/glsl/link_uniform_initializers.cpp |  4 ---
>   src/compiler/glsl/link_uniforms.cpp             |  1 -
>   src/mesa/main/shaderapi.c                       |  3 +-
>   src/mesa/main/uniform_query.cpp                 |  4 ---
>   src/mesa/state_tracker/st_draw.c                | 37 -------------------------
>   6 files changed, 1 insertion(+), 53 deletions(-)
>
> diff --git a/src/compiler/glsl/ir_uniform.h b/src/compiler/glsl/ir_uniform.h
> index 1854279..e72e7b4 100644
> --- a/src/compiler/glsl/ir_uniform.h
> +++ b/src/compiler/glsl/ir_uniform.h
> @@ -105,11 +105,6 @@ struct gl_uniform_storage {
>       */
>      unsigned array_elements;
>
> -   /**
> -    * Has this uniform ever been set?
> -    */
> -   bool initialized;
> -
>      struct gl_opaque_uniform_index opaque[MESA_SHADER_STAGES];
>
>      /**
> diff --git a/src/compiler/glsl/link_uniform_initializers.cpp b/src/compiler/glsl/link_uniform_initializers.cpp
> index 7d280cc..870bc5b 100644
> --- a/src/compiler/glsl/link_uniform_initializers.cpp
> +++ b/src/compiler/glsl/link_uniform_initializers.cpp
> @@ -162,8 +162,6 @@ set_opaque_binding(void *mem_ctx, gl_shader_program *prog,
>               }
>            }
>         }
> -
> -      storage->initialized = true;
>      }
>   }
>
> @@ -267,8 +265,6 @@ set_uniform_initializer(void *mem_ctx, gl_shader_program *prog,
>            }
>         }
>      }
> -
> -   storage->initialized = true;
>   }
>   }
>
> diff --git a/src/compiler/glsl/link_uniforms.cpp b/src/compiler/glsl/link_uniforms.cpp
> index 09322c5..a16b34a 100644
> --- a/src/compiler/glsl/link_uniforms.cpp
> +++ b/src/compiler/glsl/link_uniforms.cpp
> @@ -799,7 +799,6 @@ private:
>
>         this->uniforms[id].name = ralloc_strdup(this->uniforms, name);
>         this->uniforms[id].type = base_type;
> -      this->uniforms[id].initialized = 0;
>         this->uniforms[id].num_driver_storage = 0;
>         this->uniforms[id].driver_storage = NULL;
>         this->uniforms[id].atomic_buffer_index = -1;
> diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
> index 5b882d6..92302f6 100644
> --- a/src/mesa/main/shaderapi.c
> +++ b/src/mesa/main/shaderapi.c
> @@ -2568,7 +2568,6 @@ _mesa_UniformSubroutinesuiv(GLenum shadertype, GLsizei count,
>         memcpy(&uni->storage[0], &indices[i],
>                sizeof(GLuint) * uni_count);
>
> -      uni->initialized = true;
>         _mesa_propagate_uniforms_to_driver_storage(uni, 0, uni_count);
>         i += uni_count;
>      } while(i < count);
> @@ -2742,7 +2741,7 @@ _mesa_shader_init_subroutine_defaults(struct gl_shader *sh)
>
>         for (j = 0; j < uni_count; j++)
>            memcpy(&uni->storage[j], &val, sizeof(int));
> -      uni->initialized = true;
> +
>         _mesa_propagate_uniforms_to_driver_storage(uni, 0, uni_count);
>      }
>   }
> diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
> index 2ced201..ab5c3cd 100644
> --- a/src/mesa/main/uniform_query.cpp
> +++ b/src/mesa/main/uniform_query.cpp
> @@ -815,8 +815,6 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
>         }
>      }
>
> -   uni->initialized = true;
> -
>      _mesa_propagate_uniforms_to_driver_storage(uni, offset, count);
>
>      /* If the uniform is a sampler, do the extra magic necessary to propagate
> @@ -1030,8 +1028,6 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
>         }
>      }
>
> -   uni->initialized = true;
> -
>      _mesa_propagate_uniforms_to_driver_storage(uni, offset, count);
>   }
>
> diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
> index fdd59a3..3db5749 100644
> --- a/src/mesa/state_tracker/st_draw.c
> +++ b/src/mesa/state_tracker/st_draw.c
> @@ -127,35 +127,6 @@ setup_index_buffer(struct st_context *st,
>
>
>   /**
> - * Prior to drawing, check that any uniforms referenced by the
> - * current shader have been set.  If a uniform has not been set,
> - * issue a warning.
> - */
> -static void
> -check_uniforms(struct gl_context *ctx)
> -{
> -   struct gl_shader_program **shProg = ctx->_Shader->CurrentProgram;
> -   unsigned j;
> -
> -   for (j = 0; j < 3; j++) {
> -      unsigned i;
> -
> -      if (shProg[j] == NULL || !shProg[j]->LinkStatus)
> -	 continue;
> -
> -      for (i = 0; i < shProg[j]->NumUniformStorage; i++) {
> -         const struct gl_uniform_storage *u = &shProg[j]->UniformStorage[i];
> -         if (!u->initialized) {
> -            _mesa_warning(ctx,
> -                          "Using shader with uninitialized uniform: %s",
> -                          u->name);
> -         }
> -      }
> -   }
> -}
> -
> -
> -/**
>    * Translate OpenGL primtive type (GL_POINTS, GL_TRIANGLE_STRIP, etc) to
>    * the corresponding Gallium type.
>    */
> @@ -203,14 +174,6 @@ st_draw_vbo(struct gl_context *ctx,
>      /* Validate state. */
>      if (st->dirty.st || st->dirty.mesa || ctx->NewDriverState) {
>         st_validate_state(st, ST_PIPELINE_RENDER);
> -
> -#if 0
> -      if (MESA_VERBOSE & VERBOSE_GLSL) {
> -         check_uniforms(ctx);
> -      }
> -#else
> -      (void) check_uniforms;
> -#endif
>      }
>
>      if (st->vertex_array_out_of_memory) {
>



More information about the mesa-dev mailing list