Message ID | 20241007-b4-new-color-formats-v2-3-d47da50d4674@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vkms: Add support for multiple plane formats | expand |
Hi Louis, On 07/10/24 13:46, Louis Chauvet wrote: > The formats XRGB16161616 and ARGB16161616 were already supported. > Add the support for: > - ABGR16161616 > - XBGR16161616 > > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> > --- > drivers/gpu/drm/vkms/vkms_formats.c | 11 ++++++++--- > drivers/gpu/drm/vkms/vkms_plane.c | 2 ++ > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkms_formats.c > index b5a38f70c62b..c03a481f5005 100644 > --- a/drivers/gpu/drm/vkms/vkms_formats.c > +++ b/drivers/gpu/drm/vkms/vkms_formats.c > @@ -441,9 +441,10 @@ READ_LINE_ARGB8888(ABGR8888_read_line, px, px[3], px[0], px[1], px[2]) > READ_LINE_ARGB8888(RGBA8888_read_line, px, px[0], px[3], px[2], px[1]) > READ_LINE_ARGB8888(BGRA8888_read_line, px, px[0], px[1], px[2], px[3]) > > - > -READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]); > -READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]); Please, correct the error in the patch that introduced. Don't fix it in an unrelated patch. > +READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]) > +READ_LINE_16161616(ABGR16161616_read_line, px, px[3], px[0], px[1], px[2]) > +READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]) Please, be consistent in the use of decimal numbers and hexadecimal number. If you prefer to use hexadecimal, don't use 255, use 0xFF. > +READ_LINE_16161616(XBGR16161616_read_line, px, 0xFFFF, px[0], px[1], px[2]) Are you using tests to check the new formats? Best Regards, - Maíra > > READ_LINE(RGB565_read_line, px, __le16, argb_u16_from_RGB565, px) > > @@ -659,8 +660,12 @@ pixel_read_line_t get_pixel_read_line_function(u32 format) > return &BGRX8888_read_line; > case DRM_FORMAT_ARGB16161616: > return &ARGB16161616_read_line; > + case DRM_FORMAT_ABGR16161616: > + return &ABGR16161616_read_line; > case DRM_FORMAT_XRGB16161616: > return &XRGB16161616_read_line; > + case DRM_FORMAT_XBGR16161616: > + return &XBGR16161616_read_line; > case DRM_FORMAT_RGB565: > return &RGB565_read_line; > case DRM_FORMAT_NV12: > diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c > index 941a6e92a040..1e971c7760d9 100644 > --- a/drivers/gpu/drm/vkms/vkms_plane.c > +++ b/drivers/gpu/drm/vkms/vkms_plane.c > @@ -22,7 +22,9 @@ static const u32 vkms_formats[] = { > DRM_FORMAT_RGBX8888, > DRM_FORMAT_BGRX8888, > DRM_FORMAT_XRGB16161616, > + DRM_FORMAT_XBGR16161616, > DRM_FORMAT_ARGB16161616, > + DRM_FORMAT_ABGR16161616, > DRM_FORMAT_RGB565, > DRM_FORMAT_NV12, > DRM_FORMAT_NV16, >
On 26/10/24 - 11:15, Maíra Canal wrote: > Hi Louis, > > On 07/10/24 13:46, Louis Chauvet wrote: > > The formats XRGB16161616 and ARGB16161616 were already supported. > > Add the support for: > > - ABGR16161616 > > - XBGR16161616 > > > > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> > > --- > > drivers/gpu/drm/vkms/vkms_formats.c | 11 ++++++++--- > > drivers/gpu/drm/vkms/vkms_plane.c | 2 ++ > > 2 files changed, 10 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkms_formats.c > > index b5a38f70c62b..c03a481f5005 100644 > > --- a/drivers/gpu/drm/vkms/vkms_formats.c > > +++ b/drivers/gpu/drm/vkms/vkms_formats.c > > @@ -441,9 +441,10 @@ READ_LINE_ARGB8888(ABGR8888_read_line, px, px[3], px[0], px[1], px[2]) > > READ_LINE_ARGB8888(RGBA8888_read_line, px, px[0], px[3], px[2], px[1]) > > READ_LINE_ARGB8888(BGRA8888_read_line, px, px[0], px[1], px[2], px[3]) > > - > > -READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]); > > -READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]); > > Please, correct the error in the patch that introduced. Don't fix it in > an unrelated patch. Thanks! > > +READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]) > > +READ_LINE_16161616(ABGR16161616_read_line, px, px[3], px[0], px[1], px[2]) > > +READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]) > > Please, be consistent in the use of decimal numbers and hexadecimal > number. If you prefer to use hexadecimal, don't use 255, use 0xFF. I will change everything to hexadecimal for the v2. > > +READ_LINE_16161616(XBGR16161616_read_line, px, 0xFFFF, px[0], px[1], px[2]) > > Are you using tests to check the new formats? I need to check which ones, but I think yes. Thanks, Louis Chauvet > Best Regards, > - Maíra > > > READ_LINE(RGB565_read_line, px, __le16, argb_u16_from_RGB565, px) > > @@ -659,8 +660,12 @@ pixel_read_line_t get_pixel_read_line_function(u32 format) > > return &BGRX8888_read_line; > > case DRM_FORMAT_ARGB16161616: > > return &ARGB16161616_read_line; > > + case DRM_FORMAT_ABGR16161616: > > + return &ABGR16161616_read_line; > > case DRM_FORMAT_XRGB16161616: > > return &XRGB16161616_read_line; > > + case DRM_FORMAT_XBGR16161616: > > + return &XBGR16161616_read_line; > > case DRM_FORMAT_RGB565: > > return &RGB565_read_line; > > case DRM_FORMAT_NV12: > > diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c > > index 941a6e92a040..1e971c7760d9 100644 > > --- a/drivers/gpu/drm/vkms/vkms_plane.c > > +++ b/drivers/gpu/drm/vkms/vkms_plane.c > > @@ -22,7 +22,9 @@ static const u32 vkms_formats[] = { > > DRM_FORMAT_RGBX8888, > > DRM_FORMAT_BGRX8888, > > DRM_FORMAT_XRGB16161616, > > + DRM_FORMAT_XBGR16161616, > > DRM_FORMAT_ARGB16161616, > > + DRM_FORMAT_ABGR16161616, > > DRM_FORMAT_RGB565, > > DRM_FORMAT_NV12, > > DRM_FORMAT_NV16, > >
diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkms_formats.c index b5a38f70c62b..c03a481f5005 100644 --- a/drivers/gpu/drm/vkms/vkms_formats.c +++ b/drivers/gpu/drm/vkms/vkms_formats.c @@ -441,9 +441,10 @@ READ_LINE_ARGB8888(ABGR8888_read_line, px, px[3], px[0], px[1], px[2]) READ_LINE_ARGB8888(RGBA8888_read_line, px, px[0], px[3], px[2], px[1]) READ_LINE_ARGB8888(BGRA8888_read_line, px, px[0], px[1], px[2], px[3]) - -READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]); -READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]); +READ_LINE_16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0]) +READ_LINE_16161616(ABGR16161616_read_line, px, px[3], px[0], px[1], px[2]) +READ_LINE_16161616(XRGB16161616_read_line, px, 0xFFFF, px[2], px[1], px[0]) +READ_LINE_16161616(XBGR16161616_read_line, px, 0xFFFF, px[0], px[1], px[2]) READ_LINE(RGB565_read_line, px, __le16, argb_u16_from_RGB565, px) @@ -659,8 +660,12 @@ pixel_read_line_t get_pixel_read_line_function(u32 format) return &BGRX8888_read_line; case DRM_FORMAT_ARGB16161616: return &ARGB16161616_read_line; + case DRM_FORMAT_ABGR16161616: + return &ABGR16161616_read_line; case DRM_FORMAT_XRGB16161616: return &XRGB16161616_read_line; + case DRM_FORMAT_XBGR16161616: + return &XBGR16161616_read_line; case DRM_FORMAT_RGB565: return &RGB565_read_line; case DRM_FORMAT_NV12: diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c index 941a6e92a040..1e971c7760d9 100644 --- a/drivers/gpu/drm/vkms/vkms_plane.c +++ b/drivers/gpu/drm/vkms/vkms_plane.c @@ -22,7 +22,9 @@ static const u32 vkms_formats[] = { DRM_FORMAT_RGBX8888, DRM_FORMAT_BGRX8888, DRM_FORMAT_XRGB16161616, + DRM_FORMAT_XBGR16161616, DRM_FORMAT_ARGB16161616, + DRM_FORMAT_ABGR16161616, DRM_FORMAT_RGB565, DRM_FORMAT_NV12, DRM_FORMAT_NV16,
The formats XRGB16161616 and ARGB16161616 were already supported. Add the support for: - ABGR16161616 - XBGR16161616 Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> --- drivers/gpu/drm/vkms/vkms_formats.c | 11 ++++++++--- drivers/gpu/drm/vkms/vkms_plane.c | 2 ++ 2 files changed, 10 insertions(+), 3 deletions(-)