From 3dd6ddde3b4c0693ace2cae7fd62031fed2a05de Mon Sep 17 00:00:00 2001 From: David Rosca Date: Thu, 5 Dec 2024 15:48:23 +0100 Subject: [PATCH] radeonsi/vcn: Cleanup JPEG supported formats Stop reporting L8_UNORM as supported. Remove unsupported IYUV, YV12, P010 and P016 formats from list, add rest of the supported formats and add assert. Reviewed-by: David (Ming Qiang) Wu Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c | 10 ++++++---- src/gallium/drivers/radeonsi/si_get.c | 1 - 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c index cb8c0a1b87c..5ea11c14305 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c @@ -74,8 +74,6 @@ static struct pb_buffer_lean *radeon_jpeg_get_decode_param(struct radeon_decoder } switch (target->buffer_format) { - case PIPE_FORMAT_IYUV: - case PIPE_FORMAT_YV12: case PIPE_FORMAT_Y8_U8_V8_444_UNORM: case PIPE_FORMAT_Y8_U8_V8_440_UNORM: case PIPE_FORMAT_R8_G8_B8_UNORM: @@ -85,12 +83,16 @@ static struct pb_buffer_lean *radeon_jpeg_get_decode_param(struct radeon_decoder dec->jpg.dt_chroma_top_offset = chroma->surface.u.gfx9.surf_offset; break; case PIPE_FORMAT_NV12: - case PIPE_FORMAT_P010: - case PIPE_FORMAT_P016: chroma = (struct si_texture *)((struct vl_video_buffer*)target)->resources[1]; dec->jpg.dt_chroma_top_offset = chroma->surface.u.gfx9.surf_offset; break; + case PIPE_FORMAT_YUYV: + case PIPE_FORMAT_Y8_400_UNORM: + case PIPE_FORMAT_R8G8B8A8_UNORM: + case PIPE_FORMAT_A8R8G8B8_UNORM: + break; default: + assert(0); break; } dec->jpg.dt_pitch = luma->surface.u.gfx9.surf_pitch * luma->surface.blk_w; diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 72e540dcf39..c20b6934aba 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -1113,7 +1113,6 @@ static bool si_vid_is_format_supported(struct pipe_screen *screen, enum pipe_for 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: