[Mesa-dev] [PATCH] glsl: remove unused link_assign_uniform_block_offsets

Ian Romanick idr at freedesktop.org
Wed Sep 24 08:40:04 PDT 2014


Nice catch.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

On 09/24/2014 04:09 AM, Tapani Pälli wrote:
> ubo offsets are assigned by link_uniform_blocks since 514f8c7e
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/glsl/link_uniforms.cpp | 34 ----------------------------------
>  src/glsl/linker.h          |  3 ---
>  2 files changed, 37 deletions(-)
> 
> diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
> index dcce183..5772771 100644
> --- a/src/glsl/link_uniforms.cpp
> +++ b/src/glsl/link_uniforms.cpp
> @@ -777,40 +777,6 @@ link_update_uniform_buffer_variables(struct gl_shader *shader)
>     }
>  }
>  
> -void
> -link_assign_uniform_block_offsets(struct gl_shader *shader)
> -{
> -   for (unsigned b = 0; b < shader->NumUniformBlocks; b++) {
> -      struct gl_uniform_block *block = &shader->UniformBlocks[b];
> -
> -      unsigned offset = 0;
> -      for (unsigned int i = 0; i < block->NumUniforms; i++) {
> -	 struct gl_uniform_buffer_variable *ubo_var = &block->Uniforms[i];
> -	 const struct glsl_type *type = ubo_var->Type;
> -
> -	 unsigned alignment = type->std140_base_alignment(ubo_var->RowMajor);
> -	 unsigned size = type->std140_size(ubo_var->RowMajor);
> -
> -	 offset = glsl_align(offset, alignment);
> -	 ubo_var->Offset = offset;
> -	 offset += size;
> -      }
> -
> -      /* From the GL_ARB_uniform_buffer_object spec:
> -       *
> -       *     "For uniform blocks laid out according to [std140] rules,
> -       *      the minimum buffer object size returned by the
> -       *      UNIFORM_BLOCK_DATA_SIZE query is derived by taking the
> -       *      offset of the last basic machine unit consumed by the
> -       *      last uniform of the uniform block (including any
> -       *      end-of-array or end-of-structure padding), adding one,
> -       *      and rounding up to the next multiple of the base
> -       *      alignment required for a vec4."
> -       */
> -      block->UniformBufferSize = glsl_align(offset, 16);
> -   }
> -}
> -
>  /**
>   * Scan the program for image uniforms and store image unit access
>   * information into the gl_shader data structure.
> diff --git a/src/glsl/linker.h b/src/glsl/linker.h
> index beb9bb2..7a6908c 100644
> --- a/src/glsl/linker.h
> +++ b/src/glsl/linker.h
> @@ -47,9 +47,6 @@ link_cross_validate_uniform_block(void *mem_ctx,
>  				  unsigned int *num_linked_blocks,
>  				  struct gl_uniform_block *new_block);
>  
> -void
> -link_assign_uniform_block_offsets(struct gl_shader *shader);
> -
>  extern bool
>  link_uniform_blocks_are_compatible(const gl_uniform_block *a,
>  				   const gl_uniform_block *b);
> 



More information about the mesa-dev mailing list