Mesa (master): radv: Set active_stages after getting cached shaders

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Wed Oct 18 18:40:49 UTC 2017


Module: Mesa
Branch: master
Commit: 2cccc74f56c5c7a62442af4e06222862d90f5b33
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cccc74f56c5c7a62442af4e06222862d90f5b33

Author: Alex Smith <asmith at feralinteractive.com>
Date:   Wed Oct 18 14:47:51 2017 +0100

radv: Set active_stages after getting cached shaders

Fixes: 7d45d22fdd2e ("radv: switch to using radv_create_shaders()")
Signed-off-by: Alex Smith <asmith at feralinteractive.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_pipeline.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index c93871bfbc..7102d07a03 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -1597,8 +1597,13 @@ 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))
+	    (!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;
+	}
 
 	if (!modules[MESA_SHADER_FRAGMENT] && !modules[MESA_SHADER_COMPUTE]) {
 		nir_builder fs_b;




More information about the mesa-commit mailing list