From ba7e3be425ae960872bbf48b9a2aa02b8dbb4403 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 12 Sep 2024 15:48:31 +0200 Subject: [PATCH] radv: merge radv_emit_epilog() with radv_emit_ps_epilog_state() Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 8a97999fe13..a9c697c10f4 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -1910,24 +1910,6 @@ radv_emit_rbplus_state(struct radv_cmd_buffer *cmd_buffer) cmd_buffer->state.dirty &= ~RADV_CMD_DIRTY_RBPLUS; } -static void -radv_emit_epilog(struct radv_cmd_buffer *cmd_buffer, const struct radv_shader *shader, - const struct radv_shader_part *epilog) -{ - struct radv_device *device = radv_cmd_buffer_device(cmd_buffer); - const struct radv_physical_device *pdev = radv_device_physical(device); - struct radeon_cmdbuf *cs = cmd_buffer->cs; - - radv_cs_add_buffer(device->ws, cs, epilog->bo); - - assert((epilog->va >> 32) == pdev->info.address32_hi); - - const uint32_t epilog_pc_offset = radv_get_user_sgpr_loc(shader, AC_UD_EPILOG_PC); - radv_emit_shader_pointer(device, cs, epilog_pc_offset, epilog->va, false); - - cmd_buffer->shader_upload_seq = MAX2(cmd_buffer->shader_upload_seq, epilog->upload_seq); -} - static void radv_emit_ps_epilog_state(struct radv_cmd_buffer *cmd_buffer, struct radv_shader_part *ps_epilog) { @@ -1953,7 +1935,14 @@ radv_emit_ps_epilog_state(struct radv_cmd_buffer *cmd_buffer, struct radv_shader radeon_set_sh_reg(cmd_buffer->cs, ps_shader->info.regs.pgm_rsrc1, rsrc1); } - radv_emit_epilog(cmd_buffer, ps_shader, ps_epilog); + radv_cs_add_buffer(device->ws, cmd_buffer->cs, ps_epilog->bo); + + assert((ps_epilog->va >> 32) == pdev->info.address32_hi); + + const uint32_t epilog_pc_offset = radv_get_user_sgpr_loc(ps_shader, AC_UD_EPILOG_PC); + radv_emit_shader_pointer(device, cmd_buffer->cs, epilog_pc_offset, ps_epilog->va, false); + + cmd_buffer->shader_upload_seq = MAX2(cmd_buffer->shader_upload_seq, ps_epilog->upload_seq); cmd_buffer->state.emitted_ps_epilog = ps_epilog; }