summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2019-10-28 13:17:04 -0400
committerLeo Liu <[email protected]>2019-10-30 12:43:04 -0400
commita886ae5162cb11e1a545efb0d940fb9128dbc4d8 (patch)
treedc659b19d73c74e11fd0090795afd2db060f8222 /src/gallium
parentb4c812a26981d8fe4f803808780407523c946e6c (diff)
radeonsi: enable 8K video decode support for HEVC and VP9
HW 8K decode support starts at Renoir Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Boyuan Zhang <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_get.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c
index 4a7b9e3c5fc..9458f6b959a 100644
--- a/src/gallium/drivers/radeonsi/si_get.c
+++ b/src/gallium/drivers/radeonsi/si_get.c
@@ -667,9 +667,25 @@ static int si_get_video_param(struct pipe_screen *screen,
case PIPE_VIDEO_CAP_NPOT_TEXTURES:
return 1;
case PIPE_VIDEO_CAP_MAX_WIDTH:
- return (sscreen->info.family < CHIP_TONGA) ? 2048 : 4096;
+ switch (codec) {
+ case PIPE_VIDEO_FORMAT_HEVC:
+ case PIPE_VIDEO_FORMAT_VP9:
+ return (sscreen->info.family < CHIP_RENOIR) ?
+ ((sscreen->info.family < CHIP_TONGA) ? 2048 : 4096) :
+ 8192;
+ default:
+ return (sscreen->info.family < CHIP_TONGA) ? 2048 : 4096;
+ }
case PIPE_VIDEO_CAP_MAX_HEIGHT:
- return (sscreen->info.family < CHIP_TONGA) ? 1152 : 4096;
+ switch (codec) {
+ case PIPE_VIDEO_FORMAT_HEVC:
+ case PIPE_VIDEO_FORMAT_VP9:
+ return (sscreen->info.family < CHIP_RENOIR) ?
+ ((sscreen->info.family < CHIP_TONGA) ? 1152 : 4096) :
+ 4352;
+ default:
+ return (sscreen->info.family < CHIP_TONGA) ? 1152 : 4096;
+ }
case PIPE_VIDEO_CAP_PREFERED_FORMAT:
if (profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10 ||
profile == PIPE_VIDEO_PROFILE_VP9_PROFILE2)