[Mesa-dev] [PATCH 10/53] i965: stop passing gl_shader_program to brw_assign_common_binding_table_offsets()

Timothy Arceri timothy.arceri at collabora.com
Tue Jan 3 22:09:34 UTC 2017


On Tue, 2017-01-03 at 17:39 +0000, Lionel Landwerlin wrote:
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> 
> A tiny suggestion further down.
> 
> On 03/01/17 02:43, Timothy Arceri wrote:
> > We now get eventhing we need directly from gl_program so there is
> 
> Everything? :)
> 
> > no need for this.
> > ---
> >   src/mesa/drivers/dri/i965/brw_cs.c       | 5 ++---
> >   src/mesa/drivers/dri/i965/brw_gs.c       | 6 ++----
> >   src/mesa/drivers/dri/i965/brw_shader.cpp | 5 -----
> >   src/mesa/drivers/dri/i965/brw_shader.h   | 1 -
> >   src/mesa/drivers/dri/i965/brw_tcs.c      | 2 +-
> >   src/mesa/drivers/dri/i965/brw_tes.c      | 2 +-
> >   src/mesa/drivers/dri/i965/brw_vs.c       | 2 +-
> >   src/mesa/drivers/dri/i965/brw_wm.c       | 6 ++----
> >   8 files changed, 9 insertions(+), 20 deletions(-)
> > 
> > diff --git a/src/mesa/drivers/dri/i965/brw_cs.c
> > b/src/mesa/drivers/dri/i965/brw_cs.c
> > index f220846..8658406 100644
> > --- a/src/mesa/drivers/dri/i965/brw_cs.c
> > +++ b/src/mesa/drivers/dri/i965/brw_cs.c
> > @@ -36,7 +36,6 @@
> >   
> >   static void
> >   assign_cs_binding_table_offsets(const struct gen_device_info
> > *devinfo,
> > -                                const struct gl_shader_program
> > *shader_prog,
> >                                   const struct gl_program *prog,
> >                                   struct brw_cs_prog_data
> > *prog_data)
> >   {
> > @@ -47,7 +46,7 @@ assign_cs_binding_table_offsets(const struct
> > gen_device_info *devinfo,
> >      next_binding_table_offset++;
> >   
> >      brw_assign_common_binding_table_offsets(MESA_SHADER_COMPUTE,
> > devinfo,
> > -                                           shader_prog, prog,
> > &prog_data->base,
> > +                                           prog, &prog_data->base,
> >                                              next_binding_table_off
> > set);
> >   }
> >   
> > @@ -81,7 +80,7 @@ brw_codegen_cs_prog(struct brw_context *brw,
> >         prog_data.base.total_shared = cp-
> > >program.info.cs.shared_size;
> >      }
> >   
> > -   assign_cs_binding_table_offsets(devinfo, prog, &cp->program,
> > &prog_data);
> > +   assign_cs_binding_table_offsets(devinfo, &cp->program,
> > &prog_data);
> >   
> >      /* Allocate the references to the uniforms that will end up in
> > the
> >       * prog_data associated with the compiled program, and which
> > will be freed
> > diff --git a/src/mesa/drivers/dri/i965/brw_gs.c
> > b/src/mesa/drivers/dri/i965/brw_gs.c
> > index 7886737..5896726 100644
> > --- a/src/mesa/drivers/dri/i965/brw_gs.c
> > +++ b/src/mesa/drivers/dri/i965/brw_gs.c
> > @@ -74,7 +74,6 @@ brw_gs_debug_recompile(struct brw_context *brw,
> > struct gl_program *prog,
> >   
> >   static void
> >   assign_gs_binding_table_offsets(const struct gen_device_info
> > *devinfo,
> > -                                const struct gl_shader_program
> > *shader_prog,
> >                                   const struct gl_program *prog,
> >                                   struct brw_gs_prog_data
> > *prog_data)
> >   {
> > @@ -84,8 +83,7 @@ assign_gs_binding_table_offsets(const struct
> > gen_device_info *devinfo,
> >      uint32_t reserved = devinfo->gen == 6 ? BRW_MAX_SOL_BINDINGS :
> > 0;
> >   
> >      brw_assign_common_binding_table_offsets(MESA_SHADER_GEOMETRY,
> > devinfo,
> > -                                           shader_prog, prog,
> > -                                           &prog_data->base.base,
> > +                                           prog, &prog_data-
> > >base.base,
> >                                              reserved);
> >   }
> >   
> > @@ -104,7 +102,7 @@ brw_codegen_gs_prog(struct brw_context *brw,
> >   
> >      memset(&prog_data, 0, sizeof(prog_data));
> >   
> > -   assign_gs_binding_table_offsets(devinfo, prog, &gp->program,
> > &prog_data);
> > +   assign_gs_binding_table_offsets(devinfo, &gp->program,
> > &prog_data);
> >   
> >      /* Allocate the references to the uniforms that will end up in
> > the
> >       * prog_data associated with the compiled program, and which
> > will be freed
> > diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp
> > b/src/mesa/drivers/dri/i965/brw_shader.cpp
> > index 267f5fb..1ada15d 100644
> > --- a/src/mesa/drivers/dri/i965/brw_shader.cpp
> > +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
> > @@ -1181,17 +1181,12 @@ backend_shader::calculate_cfg()
> >   uint32_t
> >   brw_assign_common_binding_table_offsets(gl_shader_stage stage,
> 
> Looks like you could even drop the stage argument here (in another
> patch 
> possibly).
> It doesn't appear to be used and you could get it from gl_program.

Right good spotting, I'll fix in this patch since it removes the last
use of it.

Thanks a heap for the reviews :)


> 
> >                                           const struct
> > gen_device_info *devinfo,
> > -                                        const struct
> > gl_shader_program *shader_prog,
> >                                           const struct gl_program
> > *prog,
> >                                           struct
> > brw_stage_prog_data *stage_prog_data,
> >                                           uint32_t
> > next_binding_table_offset)
> >   {
> > -   const struct gl_linked_shader *shader = NULL;
> >      int num_textures = util_last_bit(prog->SamplersUsed);
> >   
> > -   if (shader_prog)
> > -      shader = shader_prog->_LinkedShaders[stage];
> > -
> >      stage_prog_data->binding_table.texture_start =
> > next_binding_table_offset;
> >      next_binding_table_offset += num_textures;
> >   
> > diff --git a/src/mesa/drivers/dri/i965/brw_shader.h
> > b/src/mesa/drivers/dri/i965/brw_shader.h
> > index e8b34d5..bd03204 100644
> > --- a/src/mesa/drivers/dri/i965/brw_shader.h
> > +++ b/src/mesa/drivers/dri/i965/brw_shader.h
> > @@ -258,7 +258,6 @@ struct brw_gs_compile
> >   uint32_t
> >   brw_assign_common_binding_table_offsets(gl_shader_stage stage,
> >                                           const struct
> > gen_device_info *devinfo,
> > -                                        const struct
> > gl_shader_program *shader_prog,
> >                                           const struct gl_program
> > *prog,
> >                                           struct
> > brw_stage_prog_data *stage_prog_data,
> >                                           uint32_t
> > next_binding_table_offset);
> > diff --git a/src/mesa/drivers/dri/i965/brw_tcs.c
> > b/src/mesa/drivers/dri/i965/brw_tcs.c
> > index 3f8798a..0978776 100644
> > --- a/src/mesa/drivers/dri/i965/brw_tcs.c
> > +++ b/src/mesa/drivers/dri/i965/brw_tcs.c
> > @@ -211,7 +211,7 @@ brw_codegen_tcs_prog(struct brw_context *brw,
> >   
> >      if (tcp) {
> >         brw_assign_common_binding_table_offsets(MESA_SHADER_TESS_CT
> > RL, devinfo,
> > -                                              shader_prog, &tcp-
> > >program,
> > +                                              &tcp->program,
> >                                                 &prog_data.base.bas
> > e, 0);
> >   
> >         prog_data.base.base.image_param =
> > diff --git a/src/mesa/drivers/dri/i965/brw_tes.c
> > b/src/mesa/drivers/dri/i965/brw_tes.c
> > index 9adde20..520963b 100644
> > --- a/src/mesa/drivers/dri/i965/brw_tes.c
> > +++ b/src/mesa/drivers/dri/i965/brw_tes.c
> > @@ -92,7 +92,7 @@ brw_codegen_tes_prog(struct brw_context *brw,
> >      memset(&prog_data, 0, sizeof(prog_data));
> >   
> >      brw_assign_common_binding_table_offsets(MESA_SHADER_TESS_EVAL,
> > devinfo,
> > -                                           shader_prog, &tep-
> > >program,
> > +                                           &tep->program,
> >                                              &prog_data.base.base,
> > 0);
> >   
> >      switch (tep->program.info.tes.spacing) {
> > diff --git a/src/mesa/drivers/dri/i965/brw_vs.c
> > b/src/mesa/drivers/dri/i965/brw_vs.c
> > index 2720f82..3961375 100644
> > --- a/src/mesa/drivers/dri/i965/brw_vs.c
> > +++ b/src/mesa/drivers/dri/i965/brw_vs.c
> > @@ -161,7 +161,7 @@ brw_codegen_vs_prog(struct brw_context *brw,
> >   
> >      mem_ctx = ralloc_context(NULL);
> >   
> > -   brw_assign_common_binding_table_offsets(MESA_SHADER_VERTEX,
> > devinfo, prog,
> > +   brw_assign_common_binding_table_offsets(MESA_SHADER_VERTEX,
> > devinfo,
> >                                              &vp->program,
> > &prog_data.base.base,
> >                                              0);
> >   
> > diff --git a/src/mesa/drivers/dri/i965/brw_wm.c
> > b/src/mesa/drivers/dri/i965/brw_wm.c
> > index 3a800ad..674678f 100644
> > --- a/src/mesa/drivers/dri/i965/brw_wm.c
> > +++ b/src/mesa/drivers/dri/i965/brw_wm.c
> > @@ -43,7 +43,6 @@
> >   
> >   static void
> >   assign_fs_binding_table_offsets(const struct gen_device_info
> > *devinfo,
> > -                                const struct gl_shader_program
> > *shader_prog,
> >                                   const struct gl_program *prog,
> >                                   const struct brw_wm_prog_key
> > *key,
> >                                   struct brw_wm_prog_data
> > *prog_data)
> > @@ -58,7 +57,7 @@ assign_fs_binding_table_offsets(const struct
> > gen_device_info *devinfo,
> >   
> >      next_binding_table_offset =
> >         brw_assign_common_binding_table_offsets(MESA_SHADER_FRAGMEN
> > T, devinfo,
> > -                                              shader_prog, prog,
> > &prog_data->base,
> > +                                              prog, &prog_data-
> > >base,
> >                                                 next_binding_table_
> > offset);
> >   
> >      if (prog->nir->info->outputs_read && !key->coherent_fb_fetch)
> > {
> > @@ -156,8 +155,7 @@ brw_codegen_wm_prog(struct brw_context *brw,
> >      if (!prog)
> >         prog_data.base.use_alt_mode = true;
> >   
> > -   assign_fs_binding_table_offsets(devinfo, prog, &fp->program,
> > key,
> > -                                   &prog_data);
> > +   assign_fs_binding_table_offsets(devinfo, &fp->program, key,
> > &prog_data);
> >   
> >      /* Allocate the references to the uniforms that will end up in
> > the
> >       * prog_data associated with the compiled program, and which
> > will be freed
> 
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list