diff --git a/.pick_status.json b/.pick_status.json index f80dc8b4a56..64677a17e91 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -562,7 +562,7 @@ "description": "radeonsi/vcn: fix regression in yuv422 jpeg decode", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "12acee17fad5e939a4fa6ac9ce3bd4753fd0326c" }, diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 31063323832..7a362de3ce6 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -854,12 +854,20 @@ static bool si_vid_is_format_supported(struct pipe_screen *screen, enum pipe_for /* JPEG supports YUV400 and YUV444 */ if (profile == PIPE_VIDEO_PROFILE_JPEG_BASELINE) { - if (sscreen->info.family >= CHIP_NAVI21) - return (format == PIPE_FORMAT_NV12 || format == PIPE_FORMAT_Y8_400_UNORM || - format == PIPE_FORMAT_Y8_U8_V8_444_UNORM || format == PIPE_FORMAT_YUYV); - else - return (format == PIPE_FORMAT_NV12); - + switch (format) { + case PIPE_FORMAT_NV12: + case PIPE_FORMAT_YUYV: + case PIPE_FORMAT_L8_UNORM: + case PIPE_FORMAT_Y8_400_UNORM: + return true; + case PIPE_FORMAT_Y8_U8_V8_444_UNORM: + if (sscreen->info.family >= CHIP_RENOIR) + return true; + else + return false; + default: + return false; + } } /* we can only handle this one with UVD */