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 <asm...@feralinteractive.com>
Cc: "18.1" <mesa-sta...@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-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to