From f81c9badccae90ae1a80836dab83e4b62182f3a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Iv=C3=A1n=20Briano?= Date: Tue, 13 Sep 2022 12:28:42 -0700 Subject: [PATCH] anv: populate rt shader groups if they were found in the cache MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit If the pipeline does not use libraries and the shaders are all found in the cache, we end up with empty groups and crash at pipeline emit time. Fixes a bunch of tests under dEQP-VK.pipeline.monolithic.shader_module_identifier.\*.ray_tracing\* Reviewed-by: Tapani Pälli Part-of: --- src/intel/vulkan/anv_pipeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index f7a2e77..a55a8a0 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -2773,6 +2773,7 @@ anv_pipeline_compile_ray_tracing(struct anv_ray_tracing_pipeline *pipeline, stages[i].feedback.duration += os_time_get_nano() - stage_start; } + done: for (uint32_t i = 0; i < info->groupCount; i++) { const VkRayTracingShaderGroupCreateInfoKHR *ginfo = &info->pGroups[i]; struct anv_rt_shader_group *group = &pipeline->groups[i]; @@ -2838,7 +2839,6 @@ anv_pipeline_compile_ray_tracing(struct anv_ray_tracing_pipeline *pipeline, } } - done: ralloc_free(pipeline_ctx); anv_pipeline_compute_ray_tracing_stacks(pipeline, info, stack_max); -- 2.7.4