diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 941ddd4345a..37a370b4585 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2340,7 +2340,7 @@ radv_emit_primitive_topology(struct radv_cmd_buffer *cmd_buffer) radeon_set_config_reg(cmd_buffer->cs, R_008958_VGT_PRIMITIVE_TYPE, d->vk.ia.primitive_topology); } - radv_emit_vgt_gs_out(device, cmd_buffer->cs, vgt_gs_out_prim_type); + radv_emit_vgt_gs_out(device, cmd_buffer->cs, cmd_buffer->cs, vgt_gs_out_prim_type); if (loc->sgpr_idx == -1) return; diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index baa54337458..cb33333d89e 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -3194,7 +3194,7 @@ radv_emit_mesh_shader(const struct radv_device *device, struct radeon_cmdbuf *ct radeon_emit(cs, ms->info.regs.ms.spi_shader_gs_meshlet_exp_alloc); } - radv_emit_vgt_gs_out(device, ctx_cs, gs_out); + radv_emit_vgt_gs_out(device, ctx_cs, cs, gs_out); } enum radv_ps_in_type { @@ -3496,12 +3496,13 @@ radv_emit_vgt_shader_config(const struct radv_device *device, struct radeon_cmdb } void -radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, uint32_t vgt_gs_out_prim_type) +radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, struct radeon_cmdbuf *cs, + uint32_t vgt_gs_out_prim_type) { const struct radv_physical_device *pdev = radv_device_physical(device); if (pdev->info.gfx_level >= GFX11) { - radeon_set_uconfig_reg(ctx_cs, R_030998_VGT_GS_OUT_PRIM_TYPE, vgt_gs_out_prim_type); + radeon_set_uconfig_reg(cs, R_030998_VGT_GS_OUT_PRIM_TYPE, vgt_gs_out_prim_type); } else { radeon_set_context_reg(ctx_cs, R_028A6C_VGT_GS_OUT_PRIM_TYPE, vgt_gs_out_prim_type); } diff --git a/src/amd/vulkan/radv_pipeline_graphics.h b/src/amd/vulkan/radv_pipeline_graphics.h index 4645489ffa4..6c215fd37de 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.h +++ b/src/amd/vulkan/radv_pipeline_graphics.h @@ -633,7 +633,7 @@ struct radv_vgt_shader_key radv_get_vgt_shader_key(const struct radv_device *dev void radv_emit_vgt_shader_config(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, const struct radv_vgt_shader_key *key); -void radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, +void radv_emit_vgt_gs_out(const struct radv_device *device, struct radeon_cmdbuf *ctx_cs, struct radeon_cmdbuf *cs, uint32_t vgt_gs_out_prim_type); void gfx103_emit_vgt_draw_payload_cntl(struct radeon_cmdbuf *ctx_cs, const struct radv_shader *mesh_shader,