From ac52fb569a9dfff9b1fec8b223331b7d66e27aad Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 24 Apr 2026 17:55:54 +0200 Subject: [PATCH] radv: fix a potential NULL pointer dereference when emitting VBOs vkCmdBindVertexBuffers() -> draw with mesh shaders will just segfault. This sequence doesn't make real sense but it's possible. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 14b552249c3..6d6274718c7 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -6880,7 +6880,6 @@ radv_flush_vertex_descriptors(struct radv_cmd_buffer *cmd_buffer) { struct radv_shader *vs = radv_get_shader(cmd_buffer->state.shaders, MESA_SHADER_VERTEX); struct radv_device *device = radv_cmd_buffer_device(cmd_buffer); - bool uses_dynamic_inputs = vs->info.vs.dynamic_inputs; struct radv_cmd_stream *cs = cmd_buffer->cs; if (!vs) @@ -6889,6 +6888,7 @@ radv_flush_vertex_descriptors(struct radv_cmd_buffer *cmd_buffer) if (!vs->info.vs.vb_desc_usage_mask) return; + bool uses_dynamic_inputs = vs->info.vs.dynamic_inputs; unsigned vb_desc_alloc_size = (uses_dynamic_inputs ? vs->info.vs.num_attributes : util_bitcount(vs->info.vs.vb_desc_usage_mask)) * 16; unsigned vb_offset;