From 4f3ddf31e02c2d8cbc077389cf2664604469f54d Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 4 Apr 2023 15:01:33 +0200 Subject: [PATCH] radv: fix pipeline creation feedback with imported graphics libs Stages imported from graphics pipeline libraries are defined as additional entries in the order they were imported. This is similar to raytracing libraries. Signed-off-by: Samuel Pitoiset Part-of: --- .../ci/external/radv-bonaire-aco-fails.txt | 11 ------ .../ci/external/radv-gfx1100-aco-fails.txt | 10 ------ .../ci/external/radv-pitcairn-aco-fails.txt | 11 ------ .../ci/external/radv-polaris10-aco-fails.txt | 11 ------ src/amd/ci/radv-navi10-aco-fails.txt | 11 ------ src/amd/ci/radv-navi21-aco-fails.txt | 12 ------- src/amd/ci/radv-renoir-aco-fails.txt | 11 ------ src/amd/ci/radv-stoney-aco-fails.txt | 11 ------ src/amd/ci/radv-vangogh-aco-fails.txt | 12 ------- src/amd/ci/radv-vega10-aco-fails.txt | 11 ------ src/amd/vulkan/radv_pipeline_graphics.c | 35 ++++++++++++++++--- 11 files changed, 30 insertions(+), 116 deletions(-) diff --git a/src/amd/ci/external/radv-bonaire-aco-fails.txt b/src/amd/ci/external/radv-bonaire-aco-fails.txt index 9f8a01f1f58..7864a790e80 100644 --- a/src/amd/ci/external/radv-bonaire-aco-fails.txt +++ b/src/amd/ci/external/radv-bonaire-aco-fails.txt @@ -17,14 +17,3 @@ dEQP-VK.texture.mipmap.3d.image_view_min_lod.base_level.nearest_nearest_integer_ dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.linear_nearest,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_linear,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_nearest,Fail - -# New CTS failures in 1.3.5.0. -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash diff --git a/src/amd/ci/external/radv-gfx1100-aco-fails.txt b/src/amd/ci/external/radv-gfx1100-aco-fails.txt index 9fca5001253..8b137891791 100644 --- a/src/amd/ci/external/radv-gfx1100-aco-fails.txt +++ b/src/amd/ci/external/radv-gfx1100-aco-fails.txt @@ -1,11 +1 @@ -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash diff --git a/src/amd/ci/external/radv-pitcairn-aco-fails.txt b/src/amd/ci/external/radv-pitcairn-aco-fails.txt index 935a5c60d87..90287fd0eb5 100644 --- a/src/amd/ci/external/radv-pitcairn-aco-fails.txt +++ b/src/amd/ci/external/radv-pitcairn-aco-fails.txt @@ -18,17 +18,6 @@ dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.linear_nearest,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_linear,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_nearest,Fail -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0. dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.contents_2_secondary_cmdbuffers,Fail dEQP-VK.image.texel_view_compatible.compute.basic.1d_image.image_store.bc1_rgb_srgb_block.r16g16b16a16_sint,Fail diff --git a/src/amd/ci/external/radv-polaris10-aco-fails.txt b/src/amd/ci/external/radv-polaris10-aco-fails.txt index 9f865e13574..ffe4ab4a107 100644 --- a/src/amd/ci/external/radv-polaris10-aco-fails.txt +++ b/src/amd/ci/external/radv-polaris10-aco-fails.txt @@ -18,16 +18,5 @@ dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.linear_nearest,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_linear,Fail dEQP-VK.texture.mipmap.cubemap.image_view_min_lod.base_level.nearest_nearest,Fail -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0. dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolation_consistency.component_1.128_128_1.samples_8,Fail diff --git a/src/amd/ci/radv-navi10-aco-fails.txt b/src/amd/ci/radv-navi10-aco-fails.txt index fb373a8fb7d..bdf9b49ed74 100644 --- a/src/amd/ci/radv-navi10-aco-fails.txt +++ b/src/amd/ci/radv-navi10-aco-fails.txt @@ -1,14 +1,3 @@ -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0 dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash diff --git a/src/amd/ci/radv-navi21-aco-fails.txt b/src/amd/ci/radv-navi21-aco-fails.txt index 1fd85f160a5..939c2256256 100644 --- a/src/amd/ci/radv-navi21-aco-fails.txt +++ b/src/amd/ci/radv-navi21-aco-fails.txt @@ -1,15 +1,3 @@ - -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0 dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash diff --git a/src/amd/ci/radv-renoir-aco-fails.txt b/src/amd/ci/radv-renoir-aco-fails.txt index a3d726d882c..b6ac847e321 100644 --- a/src/amd/ci/radv-renoir-aco-fails.txt +++ b/src/amd/ci/radv-renoir-aco-fails.txt @@ -1,14 +1,3 @@ -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0 dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash diff --git a/src/amd/ci/radv-stoney-aco-fails.txt b/src/amd/ci/radv-stoney-aco-fails.txt index 4fd33ca5904..4e5c304ac1f 100644 --- a/src/amd/ci/radv-stoney-aco-fails.txt +++ b/src/amd/ci/radv-stoney-aco-fails.txt @@ -95,14 +95,3 @@ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.depth_none_stencil_min_testing_stencil,Fail dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil,Fail dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_8.d32_sfloat_s8_uint.depth_none_stencil_max_testing_stencil,Fail - -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash diff --git a/src/amd/ci/radv-vangogh-aco-fails.txt b/src/amd/ci/radv-vangogh-aco-fails.txt index 04d084ec54f..594a5b27cde 100644 --- a/src/amd/ci/radv-vangogh-aco-fails.txt +++ b/src/amd/ci/radv-vangogh-aco-fails.txt @@ -1,15 +1,3 @@ - -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0 dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash diff --git a/src/amd/ci/radv-vega10-aco-fails.txt b/src/amd/ci/radv-vega10-aco-fails.txt index 38ab1996376..10866e3420f 100644 --- a/src/amd/ci/radv-vega10-aco-fails.txt +++ b/src/amd/ci/radv-vega10-aco-fails.txt @@ -1,14 +1,3 @@ -# Test bugs with GPL (all of them should be fixed with recent CTS). -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash -dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash - # New CTS failures in 1.3.5.0 dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index fe8eaba9b37..c9ccdf80be2 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -3463,11 +3463,36 @@ done: if (creation_feedback) { *creation_feedback->pPipelineCreationFeedback = pipeline_feedback; - uint32_t stage_count = creation_feedback->pipelineStageCreationFeedbackCount; - assert(stage_count == 0 || pCreateInfo->stageCount == stage_count); - for (uint32_t i = 0; i < stage_count; i++) { - gl_shader_stage s = vk_to_mesa_shader_stage(pCreateInfo->pStages[i].stage); - creation_feedback->pPipelineStageCreationFeedbacks[i] = stages[s].feedback; + if (creation_feedback->pipelineStageCreationFeedbackCount > 0) { + uint32_t num_feedbacks = 0; + + for (uint32_t i = 0; i < pCreateInfo->stageCount; i++) { + gl_shader_stage s = vk_to_mesa_shader_stage(pCreateInfo->pStages[i].stage); + creation_feedback->pPipelineStageCreationFeedbacks[num_feedbacks++] = stages[s].feedback; + } + + /* Stages imported from graphics pipeline libraries are defined as additional entries in the + * order they were imported. + */ + const VkPipelineLibraryCreateInfoKHR *libs_info = + vk_find_struct_const(pCreateInfo->pNext, PIPELINE_LIBRARY_CREATE_INFO_KHR); + if (libs_info) { + for (uint32_t i = 0; i < libs_info->libraryCount; i++) { + RADV_FROM_HANDLE(radv_pipeline, pipeline_lib, libs_info->pLibraries[i]); + struct radv_graphics_lib_pipeline *gfx_pipeline_lib = + radv_pipeline_to_graphics_lib(pipeline_lib); + + if (!gfx_pipeline_lib->base.active_stages) + continue; + + radv_foreach_stage(s, gfx_pipeline_lib->base.active_stages) { + creation_feedback->pPipelineStageCreationFeedbacks[num_feedbacks++] = + stages[s].feedback; + } + } + } + + assert(num_feedbacks == creation_feedback->pipelineStageCreationFeedbackCount); } }