From 8fd915098da3c41ecace625e02b972e1e84aceb3 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 22 Mar 2023 17:26:06 +0100 Subject: [PATCH] radv: copy rast_prim to the cmdbuf state Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 5 +++-- src/amd/vulkan/radv_private.h | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index ad7a3bac555..004206555ca 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -919,7 +919,6 @@ radv_emit_descriptor_pointers(struct radv_device *device, struct radeon_cmdbuf * static unsigned radv_get_rasterization_prim(struct radv_cmd_buffer *cmd_buffer) { - struct radv_graphics_pipeline *pipeline = cmd_buffer->state.graphics_pipeline; const struct radv_shader *last_vgt_shader = cmd_buffer->state.last_vgt_shader; const struct radv_dynamic_state *d = &cmd_buffer->state.dynamic; @@ -928,7 +927,7 @@ radv_get_rasterization_prim(struct radv_cmd_buffer *cmd_buffer) VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_MESH_BIT_EXT)) { /* Ignore dynamic primitive topology for TES/GS/MS stages. */ - return pipeline->rast_prim; + return cmd_buffer->state.rast_prim; } return si_conv_prim_to_gs_out(d->vk.ia.primitive_topology, last_vgt_shader->info.is_ngg); @@ -6571,6 +6570,8 @@ radv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipeline radv_bind_multisample_state(cmd_buffer, &graphics_pipeline->ms); cmd_buffer->state.custom_blend_mode = graphics_pipeline->custom_blend_mode; + + cmd_buffer->state.rast_prim = graphics_pipeline->rast_prim; break; } default: diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 29fad14ee39..506767e3376 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1700,6 +1700,8 @@ struct radv_cmd_state { /* Custom blend mode for internal operations. */ unsigned custom_blend_mode; + + unsigned rast_prim; }; struct radv_cmd_buffer_upload {