From 46d5926d8384be38fcd3da34e9214d32c4717c56 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Mon, 5 May 2025 09:40:41 +0200 Subject: [PATCH] radeonsi/vcn: Stop using stream handle for decode It's only needed for old UVD without session context. Also remove the NULL check for session context buffer as we always have the buffer. Reviewed-by: Ruijing Dong Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 9 ++------- src/gallium/drivers/radeonsi/radeon_vcn_dec.h | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index 942038dddb2..1486f7ecada 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -1339,7 +1339,6 @@ static void rvcn_dec_message_create(struct radeon_decoder *dec) header->total_size = sizes; header->num_buffers = 1; header->msg_type = RDECODE_MSG_CREATE; - header->stream_handle = dec->stream_handle; header->status_report_feedback_number = 0; header->index[0].message_id = RDECODE_MESSAGE_CREATE; @@ -1587,7 +1586,6 @@ static struct pb_buffer_lean *rvcn_dec_message_decode(struct radeon_decoder *dec header->header_size = sizeof(rvcn_dec_message_header_t); header->total_size = sizes; header->msg_type = RDECODE_MSG_DECODE; - header->stream_handle = dec->stream_handle; header->status_report_feedback_number = dec->frame_number; header->index[0].message_id = RDECODE_MESSAGE_DECODE; @@ -1969,7 +1967,6 @@ static void rvcn_dec_message_destroy(struct radeon_decoder *dec) header->total_size = sizeof(rvcn_dec_message_header_t) - sizeof(rvcn_dec_message_index_t); header->num_buffers = 0; header->msg_type = RDECODE_MSG_DESTROY; - header->stream_handle = dec->stream_handle; header->status_report_feedback_number = 0; } @@ -2167,9 +2164,8 @@ static void send_msg_buf(struct radeon_decoder *dec) dec->it = NULL; dec->probs = NULL; - if (dec->sessionctx.res) - send_cmd(dec, RDECODE_CMD_SESSION_CONTEXT_BUFFER, dec->sessionctx.res->buf, 0, - RADEON_USAGE_READWRITE, RADEON_DOMAIN_VRAM); + send_cmd(dec, RDECODE_CMD_SESSION_CONTEXT_BUFFER, dec->sessionctx.res->buf, 0, + RADEON_USAGE_READWRITE, RADEON_DOMAIN_VRAM); /* and send it to the hardware */ send_cmd(dec, RDECODE_CMD_MSG_BUFFER, buf->res->buf, 0, RADEON_USAGE_READ, RADEON_DOMAIN_GTT); @@ -2851,7 +2847,6 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context, dec->base.destroy_fence = radeon_dec_destroy_fence; dec->stream_type = stream_type; - dec->stream_handle = si_vid_alloc_stream_handle(); dec->screen = context->screen; dec->ws = ws; diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.h b/src/gallium/drivers/radeonsi/radeon_vcn_dec.h index 799fd13d8f7..dc899e04564 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.h +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.h @@ -66,7 +66,6 @@ struct jpeg_registers { struct radeon_decoder { struct pipe_video_codec base; - unsigned stream_handle; unsigned stream_type; unsigned frame_number; unsigned db_alignment;