From 0fe5ad708d89a5415f2d19d449bc07cb356450f9 Mon Sep 17 00:00:00 2001 From: Sathishkumar S Date: Wed, 28 Feb 2024 19:00:00 +0530 Subject: [PATCH] radeonsi/vcn: avoid hard-coding the number of jpeg instance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit use the number of jpeg instances from query to create as many submission ctx Signed-off-by: Sathishkumar S Reviewed-by: Leo Liu Reviewed-by: Marek Olšák Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 7 +++---- src/gallium/drivers/radeonsi/radeon_vcn_dec.h | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index f37deb9bda5..5cca2a8590d 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -3132,10 +3132,9 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context, if (dec->stream_type == RDECODE_CODEC_JPEG) { - if (sctx->vcn_ip_ver == VCN_2_5_0 || sctx->vcn_ip_ver == VCN_2_6_0) - dec->njctx = 2; - else if (sctx->vcn_ip_ver == VCN_4_0_3) - dec->njctx = 24; + if (((struct si_screen*)dec->screen)->info.ip[AMD_IP_VCN_JPEG].num_queues > 1 && + ((struct si_screen*)dec->screen)->info.ip[AMD_IP_VCN_JPEG].num_queues <= MAX_JPEG_INST) + dec->njctx = ((struct si_screen*)dec->screen)->info.ip[AMD_IP_VCN_JPEG].num_queues; else dec->njctx = 1; diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.h b/src/gallium/drivers/radeonsi/radeon_vcn_dec.h index 1be65c7ded8..a8d099d28ad 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.h +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.h @@ -15,6 +15,7 @@ #include "ac_vcn_dec.h" #define NUM_BUFFERS 4 +#define MAX_JPEG_INST 64 struct rvcn_dec_dynamic_dpb_t2 { struct list_head list;