anv: populate rt shader groups if they were found in the cache

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 <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18582>
This commit is contained in:
Iván Briano
2022-09-13 12:28:42 -07:00
committed by Marge Bot
parent 209a89e51d
commit f81c9badcc
+1 -1
View File
@@ -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);