From cab9ce88a4f26c6afba848e6fd64d8fc91daa5eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Wed, 10 Jul 2013 15:43:16 +0200 Subject: [PATCH] radeon/uvd: fall back to shader based decoding for MPEG2 on UVD 2.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UVD 2.x doesn't support hardware decoding of MPEG2, just use shader based decoding for those chipsets. Signed-off-by: Christian König --- src/gallium/drivers/radeon/radeon_uvd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c index caf3e90..2f98de2 100644 --- a/src/gallium/drivers/radeon/radeon_uvd.c +++ b/src/gallium/drivers/radeon/radeon_uvd.c @@ -828,13 +828,16 @@ struct pipe_video_decoder *ruvd_create_decoder(struct pipe_context *context, ruvd_set_dtb set_dtb) { unsigned dpb_size = calc_dpb_size(profile, width, height, max_references); + struct radeon_info info; struct ruvd_decoder *dec; struct ruvd_msg msg; int i; + ws->query_info(ws, &info); + switch(u_reduce_video_profile(profile)) { case PIPE_VIDEO_CODEC_MPEG12: - if (entrypoint > PIPE_VIDEO_ENTRYPOINT_BITSTREAM) + if (entrypoint > PIPE_VIDEO_ENTRYPOINT_BITSTREAM || info.family < CHIP_PALM) return vl_create_mpeg12_decoder(context, profile, entrypoint, chroma_format, width, height, max_references, expect_chunked_decode); -- 1.7.9.5