mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 05:00:09 +01:00
radeonsi/vce: Cleanup
Reviewed-by: David (Ming Qiang) Wu <David.Wu3@amd.com> Acked-by: Leo Liu <leo.liu@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32829>
This commit is contained in:
parent
16571a2f6c
commit
9ca1cda2be
3 changed files with 8 additions and 27 deletions
|
|
@ -28,8 +28,6 @@
|
|||
static void flush(struct rvce_encoder *enc, unsigned flags, struct pipe_fence_handle **fence)
|
||||
{
|
||||
enc->ws->cs_flush(&enc->cs, flags, fence);
|
||||
enc->task_info_idx = 0;
|
||||
enc->bs_idx = 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
|
|
|||
|
|
@ -292,8 +292,6 @@ struct rvce_h264_enc_pic {
|
|||
unsigned p_remain;
|
||||
unsigned i_remain;
|
||||
unsigned idr_pic_id;
|
||||
unsigned gop_cnt;
|
||||
unsigned gop_size;
|
||||
unsigned pic_order_cnt;
|
||||
unsigned addrmode_arraymode_disrdo_distwoinstants;
|
||||
|
||||
|
|
@ -317,8 +315,7 @@ struct rvce_encoder {
|
|||
void (*config)(struct rvce_encoder *enc);
|
||||
void (*encode)(struct rvce_encoder *enc);
|
||||
void (*destroy)(struct rvce_encoder *enc);
|
||||
void (*task_info)(struct rvce_encoder *enc, uint32_t op, uint32_t dep, uint32_t fb_idx,
|
||||
uint32_t ring_idx);
|
||||
void (*task_info)(struct rvce_encoder *enc, uint32_t op, uint32_t fb_idx);
|
||||
void (*si_get_pic_param)(struct rvce_encoder *enc, struct pipe_h264_enc_picture_desc *pic);
|
||||
|
||||
unsigned stream_handle;
|
||||
|
|
@ -344,9 +341,6 @@ struct rvce_encoder {
|
|||
struct pipe_h264_enc_picture_desc pic;
|
||||
struct rvce_h264_enc_pic enc_pic;
|
||||
|
||||
unsigned task_info_idx;
|
||||
unsigned bs_idx;
|
||||
|
||||
bool use_vm;
|
||||
bool dual_pipe;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -196,7 +196,6 @@ static void get_param(struct rvce_encoder *enc, struct pipe_h264_enc_picture_des
|
|||
enc->enc_pic.frame_num_cnt = pic->frame_num_cnt - 1;
|
||||
enc->enc_pic.p_remain = pic->p_remain;
|
||||
enc->enc_pic.i_remain = pic->i_remain;
|
||||
enc->enc_pic.gop_cnt = pic->gop_cnt;
|
||||
enc->enc_pic.pic_order_cnt = pic->pic_order_cnt;
|
||||
enc->enc_pic.not_referenced = pic->not_referenced;
|
||||
enc->enc_pic.addrmode_arraymode_disrdo_distwoinstants = 0x01000201;
|
||||
|
|
@ -288,7 +287,7 @@ static void get_param(struct rvce_encoder *enc, struct pipe_h264_enc_picture_des
|
|||
static void create(struct rvce_encoder *enc)
|
||||
{
|
||||
struct si_screen *sscreen = (struct si_screen *)enc->screen;
|
||||
enc->task_info(enc, 0x00000000, 0, 0, 0);
|
||||
enc->task_info(enc, 0x00000000, 0);
|
||||
|
||||
RVCE_BEGIN(0x01000001); // create cmd
|
||||
RVCE_CS(enc->enc_pic.ec.enc_use_circular_buffer);
|
||||
|
|
@ -321,10 +320,9 @@ static void encode(struct rvce_encoder *enc)
|
|||
{
|
||||
struct si_screen *sscreen = (struct si_screen *)enc->screen;
|
||||
signed luma_offset, chroma_offset;
|
||||
unsigned bs_idx = enc->bs_idx++;
|
||||
int i;
|
||||
|
||||
enc->task_info(enc, 0x00000003, 0, 0, bs_idx);
|
||||
enc->task_info(enc, 0x00000003, 0);
|
||||
|
||||
RVCE_BEGIN(0x05000001); // context buffer
|
||||
RVCE_READWRITE(enc->dpb.res->buf, enc->dpb.res->domains, 0); // encodeContextAddressHi/Lo
|
||||
|
|
@ -507,7 +505,7 @@ static void rate_control(struct rvce_encoder *enc)
|
|||
|
||||
static void config(struct rvce_encoder *enc)
|
||||
{
|
||||
enc->task_info(enc, 0x00000002, 0, 0xffffffff, 0);
|
||||
enc->task_info(enc, 0x00000002, 0xffffffff);
|
||||
enc->rate_control(enc);
|
||||
enc->config_extension(enc);
|
||||
enc->motion_estimation(enc);
|
||||
|
|
@ -532,7 +530,7 @@ static void feedback(struct rvce_encoder *enc)
|
|||
|
||||
static void destroy(struct rvce_encoder *enc)
|
||||
{
|
||||
enc->task_info(enc, 0x00000001, 0, 0, 0);
|
||||
enc->task_info(enc, 0x00000001, 0);
|
||||
|
||||
feedback(enc);
|
||||
|
||||
|
|
@ -633,22 +631,13 @@ static void session(struct rvce_encoder *enc)
|
|||
RVCE_END();
|
||||
}
|
||||
|
||||
static void task_info(struct rvce_encoder *enc, uint32_t op, uint32_t dep, uint32_t fb_idx,
|
||||
uint32_t ring_idx)
|
||||
static void task_info(struct rvce_encoder *enc, uint32_t op, uint32_t fb_idx)
|
||||
{
|
||||
RVCE_BEGIN(0x00000002); // task info
|
||||
if (op == 0x3) {
|
||||
if (enc->task_info_idx) {
|
||||
uint32_t offs = enc->cs.current.cdw - enc->task_info_idx + 3;
|
||||
// Update offsetOfNextTaskInfo
|
||||
enc->cs.current.buf[enc->task_info_idx] = offs;
|
||||
}
|
||||
enc->task_info_idx = enc->cs.current.cdw;
|
||||
}
|
||||
enc->enc_pic.ti.task_operation = op;
|
||||
enc->enc_pic.ti.reference_picture_dependency = dep;
|
||||
enc->enc_pic.ti.reference_picture_dependency = 0;
|
||||
enc->enc_pic.ti.feedback_index = fb_idx;
|
||||
enc->enc_pic.ti.video_bitstream_ring_index = ring_idx;
|
||||
enc->enc_pic.ti.video_bitstream_ring_index = 0;
|
||||
RVCE_CS(enc->enc_pic.ti.offset_of_next_task_info);
|
||||
RVCE_CS(enc->enc_pic.ti.task_operation);
|
||||
RVCE_CS(enc->enc_pic.ti.reference_picture_dependency);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue