Mesa (master): radeon/vcn: add RENOIR VCN decode support

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 6 12:57:31 UTC 2019


Module: Mesa
Branch: master
Commit: a3074370d9360c469515beb728570023637907c4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3074370d9360c469515beb728570023637907c4

Author: Leo Liu <leo.liu at amd.com>
Date:   Wed Sep  4 13:27:02 2019 -0400

radeon/vcn: add RENOIR VCN decode support

It has same VCN2.x block as Navi1x

Signed-off-by: Leo Liu <leo.liu at amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang at amd.com>

---

 src/gallium/drivers/radeon/radeon_vcn_dec.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c b/src/gallium/drivers/radeon/radeon_vcn_dec.c
index 77bfe187674..0743d47f703 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_dec.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c
@@ -840,7 +840,7 @@ static struct pb_buffer *rvcn_dec_message_decode(struct radeon_decoder *dec,
 	decode->sc_coeff_size = 0;
 
 	decode->sw_ctxt_size = RDECODE_SESSION_CONTEXT_SIZE;
-	decode->db_pitch = (((struct si_screen*)dec->screen)->info.family >= CHIP_ARCTURUS &&
+	decode->db_pitch = (((struct si_screen*)dec->screen)->info.family >= CHIP_RENOIR &&
 			dec->base.width > 32 && dec->stream_type == RDECODE_CODEC_VP9) ?
 			align(dec->base.width, 64) :
 			align(dec->base.width, 32) ;
@@ -938,7 +938,7 @@ static struct pb_buffer *rvcn_dec_message_decode(struct radeon_decoder *dec,
 			/* default probability + probability data */
 			ctx_size = 2304 * 5;
 
-			if (((struct si_screen*)dec->screen)->info.family >= CHIP_ARCTURUS) {
+			if (((struct si_screen*)dec->screen)->info.family >= CHIP_RENOIR) {
 				/* SRE collocated context data */
 				ctx_size += 32 * 2 * 128 * 68;
 				/* SMP collocated context data */
@@ -1263,7 +1263,7 @@ static unsigned calc_dpb_size(struct radeon_decoder *dec)
 	case PIPE_VIDEO_FORMAT_VP9:
 		max_references = MAX2(max_references, 9);
 
-		dpb_size = (((struct si_screen*)dec->screen)->info.family >= CHIP_ARCTURUS) ?
+		dpb_size = (((struct si_screen*)dec->screen)->info.family >= CHIP_RENOIR) ?
 			(8192 * 4320 * 3 / 2) * max_references :
 			(4096 * 3000 * 3 / 2) * max_references;
 
@@ -1607,7 +1607,7 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context,
 		dec->reg.data1 = RDECODE_VCN2_5_GPCOM_VCPU_DATA1;
 		dec->reg.cmd = RDECODE_VCN2_5_GPCOM_VCPU_CMD;
 		dec->reg.cntl = RDECODE_VCN2_5_ENGINE_CNTL;
-	} else if (sctx->family >= CHIP_NAVI10) {
+	} else if (sctx->family >= CHIP_NAVI10 || sctx->family == CHIP_RENOIR) {
 		dec->reg.data0 = RDECODE_VCN2_GPCOM_VCPU_DATA0;
 		dec->reg.data1 = RDECODE_VCN2_GPCOM_VCPU_DATA1;
 		dec->reg.cmd = RDECODE_VCN2_GPCOM_VCPU_CMD;




More information about the mesa-commit mailing list