mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
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:
parent
26d8f1a306
commit
ba7e3be425
1 changed files with 8 additions and 19 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue