From 61003e36002b709ba1d9fd5c68fabbb7b0bb4e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Fri, 31 Mar 2023 05:05:36 +0200 Subject: [PATCH] radv: Use radv_get_shader to get vertex shader when binding pipeline. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: --- src/amd/vulkan/radv_cmd_buffer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 742f1da01f6..0dc581d9398 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; }