radv/rt: Handle stages without nir properly

Fixes: e039e3cd76 ('radv/rt: Store NIR shaders separately')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25142>
This commit is contained in:
Konstantin Seurer
2023-09-11 09:25:37 +02:00
committed by Marge Bot
parent 3fd9894e3a
commit 28dcc5959d
+2 -1
View File
@@ -263,7 +263,8 @@ radv_rt_fill_stage_info(const VkRayTracingPipelineCreateInfoKHR *pCreateInfo, st
RADV_FROM_HANDLE(radv_pipeline, pipeline, pCreateInfo->pLibraryInfo->pLibraries[i]);
struct radv_ray_tracing_pipeline *library_pipeline = radv_pipeline_to_ray_tracing(pipeline);
for (unsigned j = 0; j < library_pipeline->stage_count; ++j) {
stages[idx].nir = vk_pipeline_cache_object_ref(library_pipeline->stages[j].nir);
if (library_pipeline->stages[j].nir)
stages[idx].nir = vk_pipeline_cache_object_ref(library_pipeline->stages[j].nir);
if (library_pipeline->stages[j].shader)
stages[idx].shader = vk_pipeline_cache_object_ref(library_pipeline->stages[j].shader);