[Intel-gfx] [PATCH v10 1/2] drm: Introduce new DRM_FORMAT_XYUV

Lisovskiy, Stanislav stanislav.lisovskiy at intel.com
Wed Oct 3 06:39:00 UTC 2018


On Tue, 2018-10-02 at 15:28 +0000, Alexandru-Cosmin Gheorghe wrote:
> Hi,
> 
> On Tue, Oct 02, 2018 at 02:15:42PM +0300, Stanislav Lisovskiy wrote:
> > v5: This is YUV444 packed format same as AYUV, but without alpha,
> >     as supported by i915.
> > 
> > v6: Removed unneeded initializer for new XYUV format.
> > 
> > v7: Added is_yuv field initialization according to latest
> >     drm_fourcc format structure initialization changes.
> > 
> > v8: Edited commit message to be more clear about skl+, renamed
> >     PLANE_CTL_FORMAT_AYUV to PLANE_CTL_FORMAT_XYUV as this format
> >     doesn't support per-pixel alpha. Fixed minor code issues.
> > 
> > v9: Moved DRM format check to proper place in
> > intel_framebuffer_init.
> > 
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> 
> Reviewed-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe at arm.com>
> 
> I'm planning of sending a new version with my series[1], do you think
> this patch will get merged soon, or is there anything else that needs
> to be done.
> 
> [1] https://lists.freedesktop.org/archives/dri-devel/2018-
> August/186963.html

Hi,

I had to implement IGT test case and xf86-video-intel support for this
new format(in order to check that it works with gstreamer as we have
userspace requirement for this change), so currently I guess all the
requirements are met. I might need to do some
minor changes in those patches though, once I get some feedback.

> 
> > ---
> >  drivers/gpu/drm/drm_fourcc.c  | 1 +
> >  include/uapi/drm/drm_fourcc.h | 1 +
> >  2 files changed, 2 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_fourcc.c
> > b/drivers/gpu/drm/drm_fourcc.c
> > index be1d6aaef651..60752d0be9d8 100644
> > --- a/drivers/gpu/drm/drm_fourcc.c
> > +++ b/drivers/gpu/drm/drm_fourcc.c
> > @@ -190,6 +190,7 @@ const struct drm_format_info
> > *__drm_format_info(u32 format)
> >  		{ .format = DRM_FORMAT_UYVY,		.depth
> > = 0,  .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1,
> > .is_yuv = true },
> >  		{ .format = DRM_FORMAT_VYUY,		.depth
> > = 0,  .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1,
> > .is_yuv = true },
> >  		{ .format = DRM_FORMAT_AYUV,		.depth
> > = 0,  .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1,
> > .has_alpha = true, .is_yuv = true },
> > +		{ .format = DRM_FORMAT_XYUV,		.depth
> > = 0,  .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1,
> > .is_yuv = true },
> >  	};
> >  
> >  	unsigned int i;
> > diff --git a/include/uapi/drm/drm_fourcc.h
> > b/include/uapi/drm/drm_fourcc.h
> > index 139632b87181..88d2e491f40c 100644
> > --- a/include/uapi/drm/drm_fourcc.h
> > +++ b/include/uapi/drm/drm_fourcc.h
> > @@ -151,6 +151,7 @@ extern "C" {
> >  #define DRM_FORMAT_VYUY		fourcc_code('V', 'Y', 'U',
> > 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
> >  
> >  #define DRM_FORMAT_AYUV		fourcc_code('A', 'Y', 'U',
> > 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
> > +#define DRM_FORMAT_XYUV		fourcc_code('X', 'Y', 'U',
> > 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
> >  
> >  /*
> >   * 2 plane RGB + A
> > -- 
> > 2.17.1
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> 
-- 
Best Regards,

Lisovskiy Stanislav


More information about the Intel-gfx mailing list