[Mesa-dev] [Mesa-stable] [PATCH 1/3] radv: Set active_stages the same whether or not shaders were cached

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Jun 1 15:58:42 UTC 2018



On 06/01/2018 05:48 PM, Dylan Baker wrote:
> Quoting Alex Smith (2018-06-01 07:56:38)
>> On 1 June 2018 at 15:48, Dylan Baker <dylan at pnwbakers.com> wrote:
>>
>>      Quoting Alex Smith (2018-05-31 08:44:18)
>>      > With GFX9 merged shaders, active_stages would be set to the original
>>      > stages specified if shaders were not cached, but to the stages still
>>      > present after merging if they were.
>>      >
>>      > Be consistent and use the original stages.
>>      >
>>      > Signed-off-by: Alex Smith <asmith at feralinteractive.com>
>>      > Cc: "18.1" <mesa-stable at lists.freedesktop.org>
>>      > ---
>>      >  src/amd/vulkan/radv_pipeline.c | 7 ++-----
>>      >  1 file changed, 2 insertions(+), 5 deletions(-)
>>      >
>>      > diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_
>>      pipeline.c
>>      > index 52734a308a..18dcc43ebe 100644
>>      > --- a/src/amd/vulkan/radv_pipeline.c
>>      > +++ b/src/amd/vulkan/radv_pipeline.c
>>      > @@ -1964,6 +1964,8 @@ void radv_create_shaders(struct radv_pipeline
>>      *pipeline,
>>      >                                 _mesa_sha1_compute(modules[i]->nir->
>>      info.name,
>>      >                                                    strlen(modules[i]->
>>      nir->info.name),
>>      >                                                    modules[i]->sha1);
>>      > +
>>      > +                       pipeline->active_stages |=
>>      mesa_to_vk_shader_stage(i);
>>      >                 }
>>      >         }
>>      >
>>      > @@ -1979,10 +1981,6 @@ void radv_create_shaders(struct radv_pipeline
>>      *pipeline,
>>      >
>>      >         if (radv_create_shader_variants_from_pipeline_cache(device,
>>      cache, hash, pipeline->shaders) &&
>>      >             (!modules[MESA_SHADER_GEOMETRY] || pipeline->gs_copy_shader))
>>      {
>>      > -               for (unsigned i = 0; i < MESA_SHADER_STAGES; ++i) {
>>      > -                       if (pipeline->shaders[i])
>>      > -                               pipeline->active_stages |=
>>      mesa_to_vk_shader_stage(i);
>>      > -               }
>>      >                 return;
>>      >         }
>>      >
>>      > @@ -2015,7 +2013,6 @@ void radv_create_shaders(struct radv_pipeline
>>      *pipeline,
>>      >                                                     stage ? stage->pName
>>      : "main", i,
>>      >                                                     stage ? stage->
>>      pSpecializationInfo : NULL,
>>      >                                                     flags);
>>      > -               pipeline->active_stages |= mesa_to_vk_shader_stage(i);
>>      >
>>      >                 /* We don't want to alter meta shaders IR directly so
>>      clone it
>>      >                  * first.
>>      > --
>>      > 2.14.3
>>      >
>>      > _______________________________________________
>>      > mesa-stable mailing list
>>      > mesa-stable at lists.freedesktop.org
>>      > https://lists.freedesktop.org/mailman/listinfo/mesa-stable
>>
>>      Hi Alex,
>>
>>      This doesn't apply cleanly to the 18.1 tree with the following collision:
>>
>>      ++<<<<<<< HEAD
>>                                 
>>       +                                                  stage ? stage->
>>      pSpecializationInfo : NULL);
>>       +              pipeline->active_stages |= mesa_to_vk_shader_stage(i);
>>                                 
>>      ++=======
>>                                 
>>      +                                                   stage ? stage->
>>      pSpecializationInfo : NULL,
>>      +                                                   flags);
>>                                 
>>      ++>>>>>>> 0fa51bfdbe5... radv: Set active_stages the same whether or not
>>      shaders were cached
>>
>>      I can remove the flags field (which doesn't exist in 18.1) before merging
>>      if you
>>      think that's the right thing to do. Does that seem reasonable?
>>
>>
>> Yes, that's correct. Should just be removing the pipeline->active_stages line
>> at that point.
>>
>> Thanks,
>> Alex
> 
> Thanks! This is in the tree for 18.1.2.

Apparently, this series regresses some CTS on my side, Bas will 
investigate, would be nice to not release 18.1.2 without this fixed. :)

> 
> Dylan
> 
> 
> 
> _______________________________________________
> 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