From 28af93ace7b4a5d7dfd1cbfa6ab14ffcb86ad6ba Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 9 Sep 2022 09:55:49 +0200 Subject: [PATCH] radv: fix pipelineStageCreationFeedbackCount when it's 0 From the Vulkan spec 1.3.227: "If pipelineStageCreationFeedbackCount is not 0, pPipelineStageCreationFeedbacks must be a valid pointer to an array of pipelineStageCreationFeedbackCount VkPipelineCreationFeedback structures." Cc: mesa-stable Signed-off-by: Samuel Pitoiset Reviewed-By: Mike Blumenkrantz Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_pipeline.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 24261ca97cc..c0176262042 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -4085,8 +4085,9 @@ done: if (creation_feedback) { *creation_feedback->pPipelineCreationFeedback = pipeline_feedback; - assert(stageCount == creation_feedback->pipelineStageCreationFeedbackCount); - for (uint32_t i = 0; i < stageCount; i++) { + uint32_t stage_count = creation_feedback->pipelineStageCreationFeedbackCount; + assert(stage_count == 0 || stageCount == stage_count); + for (uint32_t i = 0; i < stage_count; i++) { gl_shader_stage s = vk_to_mesa_shader_stage(pStages[i].stage); creation_feedback->pPipelineStageCreationFeedbacks[i] = stages[s].feedback; }