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

eocallaghan at alterapraxis.com eocallaghan at alterapraxis.com
Sun Mar 27 03:56:19 UTC 2016


Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

On 2016-03-27 14:51, Timothy Arceri wrote:
> The only place this was used was in a gallium debug function that
> had to be manually enabled.
> ---
>  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