From: Timur Kristóf Date: Fri, 31 Mar 2023 03:05:36 +0000 (+0200) Subject: radv: Use radv_get_shader to get vertex shader when binding pipeline. X-Git-Tag: upstream/23.3.3~10640 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61003e36002b709ba1d9fd5c68fabbb7b0bb4e59;p=platform%2Fupstream%2Fmesa.git radv: Use radv_get_shader to get vertex shader when binding pipeline. The shaders[MESA_SHADER_VERTEX] can be NULL for merged shaders. Fixes: b2ac40e734194fcb571a72396b5644b1d351e48a Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8749 Signed-off-by: Timur Kristóf Reviewed-by: Samuel Pitoiset Part-of: --- diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 742f1da..0dc581d 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -6624,8 +6624,9 @@ radv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipeline } /* Re-emit the vertex buffer descriptors because they are really tied to the pipeline. */ - if (graphics_pipeline->base.shaders[MESA_SHADER_VERTEX] && - graphics_pipeline->base.shaders[MESA_SHADER_VERTEX]->info.vs.vb_desc_usage_mask) { + const struct radv_shader *vs = + radv_get_shader(graphics_pipeline->base.shaders, MESA_SHADER_VERTEX); + if (vs && vs->info.vs.vb_desc_usage_mask) { cmd_buffer->state.dirty |= RADV_CMD_DIRTY_VERTEX_BUFFER; }