From db5d57e95ead8ef525e5dd4fef6d59d16a4c4f77 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 18 Dec 2024 13:57:50 +0100 Subject: [PATCH] radv: fix getting the number of vertices per prim for the last VGT stage This is only valid for VS. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 4cf85fe55cb..c3f2beac96b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -10370,8 +10370,12 @@ radv_get_ngg_state_num_verts_per_prim(struct radv_cmd_buffer *cmd_buffer) { const struct radv_shader *last_vgt_shader = cmd_buffer->state.last_vgt_shader; const struct radv_dynamic_state *d = &cmd_buffer->state.dynamic; + uint32_t num_verts_per_prim = 0; - return radv_conv_prim_to_gs_out(d->vk.ia.primitive_topology, last_vgt_shader->info.is_ngg) + 1; + if (last_vgt_shader->info.stage == MESA_SHADER_VERTEX) + num_verts_per_prim = radv_conv_prim_to_gs_out(d->vk.ia.primitive_topology, last_vgt_shader->info.is_ngg) + 1; + + return num_verts_per_prim; } static uint32_t