mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
amd: update headers to support decode software ring
Update headers to support decode software ring. Signed-off-by: James Zhu <James.Zhu@amd.com> Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328>
This commit is contained in:
parent
2e4e39837a
commit
69f02164b3
2 changed files with 75 additions and 0 deletions
|
|
@ -51,6 +51,38 @@
|
|||
(RDECODE_PKT_REG_J(reg) | RDECODE_PKT_RES_J(0) | RDECODE_PKT_COND_J(cond) | \
|
||||
RDECODE_PKT_TYPE_J(type))
|
||||
|
||||
#define RDECODE_IB_PARAM_DECODE_BUFFER (0x00000001)
|
||||
#define RDECODE_IB_PARAM_QUERY_BUFFER (0x00000002)
|
||||
#define RDECODE_IB_PARAM_PREDICATION_BUFFER (0x00000003)
|
||||
#define RDECODE_IB_PARAM_UMD_64BIT_FENCE (0x00000005)
|
||||
#define RDECODE_IB_PARAM_UMD_RECORD_TIMESTAMP (0x00000006)
|
||||
#define RDECODE_IB_PARAM_UMD_REPORT_EVENT_STATUS (0x00000007)
|
||||
#define RDECODE_IB_PARAM_UMD_COPY_MEMORY (0x00000008)
|
||||
#define RDECODE_IB_PARAM_UMD_WRITE_MEMORY (0x00000009)
|
||||
#define RDECODE_IB_PARAM_FEEDBACK_BUFFER (0x0000000A)
|
||||
|
||||
#define RDECODE_CMDBUF_FLAGS_MSG_BUFFER (0x00000001)
|
||||
#define RDECODE_CMDBUF_FLAGS_DPB_BUFFER (0x00000002)
|
||||
#define RDECODE_CMDBUF_FLAGS_BITSTREAM_BUFFER (0x00000004)
|
||||
#define RDECODE_CMDBUF_FLAGS_DECODING_TARGET_BUFFER (0x00000008)
|
||||
#define RDECODE_CMDBUF_FLAGS_FEEDBACK_BUFFER (0x00000010)
|
||||
#define RDECODE_CMDBUF_FLAGS_PICTURE_PARAM_BUFFER (0x00000020)
|
||||
#define RDECODE_CMDBUF_FLAGS_MB_CONTROL_BUFFER (0x00000040)
|
||||
#define RDECODE_CMDBUF_FLAGS_IDCT_COEF_BUFFER (0x00000080)
|
||||
#define RDECODE_CMDBUF_FLAGS_PREEMPT_BUFFER (0x00000100)
|
||||
#define RDECODE_CMDBUF_FLAGS_IT_SCALING_BUFFER (0x00000200)
|
||||
#define RDECODE_CMDBUF_FLAGS_SCALER_TARGET_BUFFER (0x00000400)
|
||||
#define RDECODE_CMDBUF_FLAGS_CONTEXT_BUFFER (0x00000800)
|
||||
#define RDECODE_CMDBUF_FLAGS_PROB_TBL_BUFFER (0x00001000)
|
||||
#define RDECODE_CMDBUF_FLAGS_QUERY_BUFFER (0x00002000)
|
||||
#define RDECODE_CMDBUF_FLAGS_PREDICATION_BUFFER (0x00004000)
|
||||
#define RDECODE_CMDBUF_FLAGS_SCLR_COEF_BUFFER (0x00008000)
|
||||
#define RDECODE_CMDBUF_FLAGS_RECORD_TIMESTAMP (0x00010000)
|
||||
#define RDECODE_CMDBUF_FLAGS_REPORT_EVENT_STATUS (0x00020000)
|
||||
#define RDECODE_CMDBUF_FLAGS_RESERVED_SIZE_INFO_BUFFER (0x00040000)
|
||||
#define RDECODE_CMDBUF_FLAGS_LUMA_HIST_BUFFER (0x00080000)
|
||||
#define RDECODE_CMDBUF_FLAGS_SESSION_CONTEXT_BUFFER (0x00100000)
|
||||
|
||||
#define RDECODE_CMD_MSG_BUFFER 0x00000000
|
||||
#define RDECODE_CMD_DPB_BUFFER 0x00000001
|
||||
#define RDECODE_CMD_DECODING_TARGET_BUFFER 0x00000002
|
||||
|
|
@ -363,6 +395,47 @@
|
|||
#define RDECODE_FRAME_HDR_INFO_AV1_DISABLE_CDF_UPDATE_MASK (0x00000002)
|
||||
#define RDECODE_FRAME_HDR_INFO_AV1_SHOW_FRAME_MASK (0x00000001)
|
||||
|
||||
typedef struct rvcn_decode_buffer_s {
|
||||
unsigned int valid_buf_flag;
|
||||
unsigned int msg_buffer_address_hi;
|
||||
unsigned int msg_buffer_address_lo;
|
||||
unsigned int dpb_buffer_address_hi;
|
||||
unsigned int dpb_buffer_address_lo;
|
||||
unsigned int target_buffer_address_hi;
|
||||
unsigned int target_buffer_address_lo;
|
||||
unsigned int session_contex_buffer_address_hi;
|
||||
unsigned int session_contex_buffer_address_lo;
|
||||
unsigned int bitstream_buffer_address_hi;
|
||||
unsigned int bitstream_buffer_address_lo;
|
||||
unsigned int context_buffer_address_hi;
|
||||
unsigned int context_buffer_address_lo;
|
||||
unsigned int feedback_buffer_address_hi;
|
||||
unsigned int feedback_buffer_address_lo;
|
||||
unsigned int luma_hist_buffer_address_hi;
|
||||
unsigned int luma_hist_buffer_address_lo;
|
||||
unsigned int prob_tbl_buffer_address_hi;
|
||||
unsigned int prob_tbl_buffer_address_lo;
|
||||
unsigned int sclr_coeff_buffer_address_hi;
|
||||
unsigned int sclr_coeff_buffer_address_lo;
|
||||
unsigned int it_sclr_table_buffer_address_hi;
|
||||
unsigned int it_sclr_table_buffer_address_lo;
|
||||
unsigned int sclr_target_buffer_address_hi;
|
||||
unsigned int sclr_target_buffer_address_lo;
|
||||
unsigned int reserved_size_info_buffer_address_hi;
|
||||
unsigned int reserved_size_info_buffer_address_lo;
|
||||
unsigned int mpeg2_pic_param_buffer_address_hi;
|
||||
unsigned int mpeg2_pic_param_buffer_address_lo;
|
||||
unsigned int mpeg2_mb_control_buffer_address_hi;
|
||||
unsigned int mpeg2_mb_control_buffer_address_lo;
|
||||
unsigned int mpeg2_idct_coeff_buffer_address_hi;
|
||||
unsigned int mpeg2_idct_coeff_buffer_address_lo;
|
||||
} rvcn_decode_buffer_t;
|
||||
|
||||
typedef struct rvcn_decode_ib_package_s {
|
||||
unsigned int package_size;
|
||||
unsigned int package_type;
|
||||
} rvcn_decode_ib_package_t;
|
||||
|
||||
typedef struct rvcn_dec_message_index_s {
|
||||
unsigned int message_id;
|
||||
unsigned int offset;
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ struct radeon_decoder {
|
|||
uint8_t *it;
|
||||
uint8_t *probs;
|
||||
void *bs_ptr;
|
||||
rvcn_decode_buffer_t *decode_buffer;
|
||||
bool vcn_dec_sw_ring;
|
||||
|
||||
struct rvid_buffer msg_fb_it_probs_buffers[NUM_BUFFERS];
|
||||
struct rvid_buffer bs_buffers[NUM_BUFFERS];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue