[Mesa-dev] [PATCH 06/20] anv/pipeline: Unify 3DSTATE_VS emission

Kenneth Graunke kenneth at whitecape.org
Mon Nov 14 06:49:30 UTC 2016


On Sunday, November 13, 2016 9:29:44 AM PST Timothy Arceri wrote:
> On Sat, 2016-11-12 at 13:34 -0800, Jason Ekstrand wrote:
> > ---
> >  src/intel/vulkan/gen7_pipeline.c      | 29 +-----------
> >  src/intel/vulkan/gen8_pipeline.c      | 57 ++---------------------
> >  src/intel/vulkan/genX_pipeline_util.h | 85
> > +++++++++++++++++++++++++++++++++++
> >  3 files changed, 89 insertions(+), 82 deletions(-)
> > 
> > diff --git a/src/intel/vulkan/gen7_pipeline.c
> > b/src/intel/vulkan/gen7_pipeline.c
> > index 2c96a8d..d747c51 100644
> > --- a/src/intel/vulkan/gen7_pipeline.c
> > +++ b/src/intel/vulkan/gen7_pipeline.c
> > @@ -85,8 +85,6 @@ genX(graphics_pipeline_create)(
> >  
> >     emit_ms_state(pipeline, pCreateInfo->pMultisampleState);
> >  
> > -   const struct brw_vs_prog_data *vs_prog_data =
> > get_vs_prog_data(pipeline);
> > -
> >  #if 0 
> >     /* From gen7_vs_state.c */
> >  
> > @@ -106,32 +104,7 @@ genX(graphics_pipeline_create)(
> >        gen7_emit_vs_workaround_flush(brw);
> >  #endif
> >  
> > -   assert(anv_pipeline_has_stage(pipeline, MESA_SHADER_VERTEX));
> > -   const struct anv_shader_bin *vs_bin =
> > -      pipeline->shaders[MESA_SHADER_VERTEX];
> > -   anv_batch_emit(&pipeline->batch, GENX(3DSTATE_VS), vs) {
> > -      vs.KernelStartPointer         = vs_bin->kernel.offset;
> > -
> > -      vs.ScratchSpaceBasePointer = (struct anv_address) {
> > -         .bo = anv_scratch_pool_alloc(device, &device->scratch_pool,
> > -                                      MESA_SHADER_VERTEX,
> > -                                      vs_prog_data-
> > >base.base.total_scratch),
> > -         .offset = 0,
> > -      };
> > -      vs.PerThreadScratchSpace      = scratch_space(&vs_prog_data-
> > >base.base);
> 
> The last use of scratch_space() seems to go away in patch 11 but I
> don't see it getting removed anywhere.
> 
> 
> There are a bunch of fields now set that were previously only in the
> gen8 code e.g:
> 
>    vs.ThreadDispatchPriority        = false; 		
>    vs.FloatingPointMode             = IEEE754; 		
>    vs.IllegalOpcodeExceptionEnable  = false;
> 
> I take it they are just ignored by previous gens. Maybe something in
> the commit message to mention that?
> 
> Otherwise this patch is:
> 
> Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

These statements have no effect - the struct should be initialized to 0
automatically, and all of these values are equivalent to 0.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161113/3646cfc0/attachment.sig>


More information about the mesa-dev mailing list