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

Dylan Baker dylan at pnwbakers.com
Fri Jun 1 15:48:42 UTC 2018


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.

Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20180601/cfe7103d/attachment-0001.sig>


More information about the mesa-stable mailing list