[Mesa-dev] [PATCH 2/6] glsl: remove unused buffer block splitting function

Timothy Arceri timothy.arceri at collabora.com
Mon Apr 4 08:28:55 UTC 2016


On Sun, 2016-04-03 at 23:31 -0700, Kenneth Graunke wrote:
> On Sunday, April 3, 2016 9:16:29 PM PDT Timothy Arceri wrote:
> > 
> > ---
> >  src/compiler/glsl/linker.cpp | 70 
> --------------------------------------------
> > 
> >  1 file changed, 70 deletions(-)
> Hrm?
> 
>    glsl: remove unused buffer block splitting function
> 
> But it /is/ used...you just delete the use here.  Maybe it's just
> unnecessary?

I'm intending to squash patches 1-4 to avoid code churn so didn't put
to much time into the commit messages but yes it will now be unrequired
:)

> 
> > 
> > 
> > diff --git a/src/compiler/glsl/linker.cpp
> > b/src/compiler/glsl/linker.cpp
> > index 75a2afa..2f152d6 100644
> > --- a/src/compiler/glsl/linker.cpp
> > +++ b/src/compiler/glsl/linker.cpp
> > @@ -4122,49 +4122,6 @@ link_assign_subroutine_types(struct
> > gl_shader_program 
> *prog)
> > 
> >  }
> >  
> >  static void
> > -split_ubos_and_ssbos(void *mem_ctx,
> > -                     struct gl_uniform_block **s_blks,
> > -                     struct gl_uniform_block *p_blks,
> > -                     unsigned num_blocks,
> > -                     struct gl_uniform_block ***ubos,
> > -                     unsigned *num_ubos,
> > -                     struct gl_uniform_block ***ssbos,
> > -                     unsigned *num_ssbos)
> > -{
> > -   unsigned num_ubo_blocks = 0;
> > -   unsigned num_ssbo_blocks = 0;
> > -
> > -   /* Are we spliting the list of blocks for the shader or the
> > program */
> > -   bool is_shader = p_blks == NULL;
> > -
> > -   for (unsigned i = 0; i < num_blocks; i++) {
> > -      if (is_shader ? s_blks[i]->IsShaderStorage : 
> p_blks[i].IsShaderStorage)
> > 
> > -         num_ssbo_blocks++;
> > -      else
> > -         num_ubo_blocks++;
> > -   }
> > -
> > -   *ubos = ralloc_array(mem_ctx, gl_uniform_block *,
> > num_ubo_blocks);
> > -   *num_ubos = 0;
> > -
> > -   *ssbos = ralloc_array(mem_ctx, gl_uniform_block *,
> > num_ssbo_blocks);
> > -   *num_ssbos = 0;
> > -
> > -   for (unsigned i = 0; i < num_blocks; i++) {
> > -      struct gl_uniform_block *blk = is_shader ? s_blks[i] :
> > &p_blks[i];
> > -      if (blk->IsShaderStorage) {
> > -         (*ssbos)[*num_ssbos] = blk;
> > -         (*num_ssbos)++;
> > -      } else {
> > -         (*ubos)[*num_ubos] = blk;
> > -         (*num_ubos)++;
> > -      }
> > -   }
> > -
> > -   assert(*num_ubos + *num_ssbos == num_blocks);
> > -}
> > -
> > -static void
> >  set_always_active_io(exec_list *ir, ir_variable_mode io_mode)
> >  {
> >     assert(io_mode == ir_var_shader_in || io_mode ==
> > ir_var_shader_out);
> > @@ -4701,33 +4658,6 @@ link_shaders(struct gl_context *ctx, struct 
> gl_shader_program *prog)
> > 
> >                               has_xfb_qualifiers))
> >        goto done;
> >  
> > -   /* Split BufferInterfaceBlocks into UniformBlocks and 
> ShaderStorageBlocks
> > 
> > -    * for gl_shader_program and gl_shader, so that drivers that
> > need 
> separate
> > 
> > -    * index spaces for each set can have that.
> > -    */
> > -   for (unsigned i = MESA_SHADER_VERTEX; i < MESA_SHADER_STAGES;
> > i++) {
> > -      if (prog->_LinkedShaders[i] != NULL) {
> > -         gl_shader *sh = prog->_LinkedShaders[i];
> > -         split_ubos_and_ssbos(sh,
> > -                              sh->BufferInterfaceBlocks,
> > -                              NULL,
> > -                              sh->NumBufferInterfaceBlocks,
> > -                              &sh->UniformBlocks,
> > -                              &sh->NumUniformBlocks,
> > -                              &sh->ShaderStorageBlocks,
> > -                              &sh->NumShaderStorageBlocks);
> > -      }
> > -   }
> > -
> > -   split_ubos_and_ssbos(prog,
> > -                        NULL,
> > -                        prog->BufferInterfaceBlocks,
> > -                        prog->NumBufferInterfaceBlocks,
> > -                        &prog->UniformBlocks,
> > -                        &prog->NumUniformBlocks,
> > -                        &prog->ShaderStorageBlocks,
> > -                        &prog->NumShaderStorageBlocks);
> > -
> >     update_array_sizes(prog);
> >     link_assign_uniform_locations(prog, ctx-
> > >Const.UniformBooleanTrue,
> >                                   num_explicit_uniform_locs,
> > 


More information about the mesa-dev mailing list