radv: merge radv_emit_epilog() with radv_emit_ps_epilog_state()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31150>
This commit is contained in:
Samuel Pitoiset 2024-09-12 15:48:31 +02:00 committed by Marge Bot
parent 26d8f1a306
commit ba7e3be425

View file

@ -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;
}