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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user