[Intel-gfx] [PATCH v4] drm/i915: Adding YUV444 packed format(DRM_FORMAT_AYUV) support.
Lisovskiy, Stanislav
stanislav.lisovskiy at intel.com
Thu Jul 5 07:32:34 UTC 2018
On Wed, 2018-07-04 at 15:53 +0200, Daniel Vetter wrote:
> On Wed, Jul 04, 2018 at 12:41:52PM +0300, StanLis wrote:
> > From: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> >
> > PLANE_CTL_FORMAT_AYUV is already supported, according to hardware
> > specification.
> >
> > v2: Edited commit message, removed redundant whitespaces.
> >
> > v3: Fixed fallthrough logic for the format switch cases.
> >
> > v4: Yet again fixed fallthrough logic, to reuse code from other
> > case
> > labels.
> >
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
>
> Do we have userspace and igt testcases for this?
> -Daniel
So far, I've checked it only with own test program and VLC player,
however currently I'm working on igt test case for that also.
>
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 7 +++++++
> > drivers/gpu/drm/i915/intel_sprite.c | 1 +
> > 2 files changed, 8 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 56818a45181c..b121b3378aa2 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -86,6 +86,7 @@ static const uint32_t skl_primary_formats[] = {
> > DRM_FORMAT_YVYU,
> > DRM_FORMAT_UYVY,
> > DRM_FORMAT_VYUY,
> > + DRM_FORMAT_AYUV,
> > };
> >
> > static const uint32_t skl_pri_planar_formats[] = {
> > @@ -102,6 +103,7 @@ static const uint32_t skl_pri_planar_formats[]
> > = {
> > DRM_FORMAT_UYVY,
> > DRM_FORMAT_VYUY,
> > DRM_FORMAT_NV12,
> > + DRM_FORMAT_AYUV,
> > };
> >
> > static const uint64_t skl_format_modifiers_noccs[] = {
> > @@ -3497,6 +3499,8 @@ static u32 skl_plane_ctl_format(uint32_t
> > pixel_format)
> > return PLANE_CTL_FORMAT_XRGB_2101010;
> > case DRM_FORMAT_XBGR2101010:
> > return PLANE_CTL_ORDER_RGBX |
> > PLANE_CTL_FORMAT_XRGB_2101010;
> > + case DRM_FORMAT_AYUV:
> > + return PLANE_CTL_FORMAT_AYUV;
> > case DRM_FORMAT_YUYV:
> > return PLANE_CTL_FORMAT_YUV422 |
> > PLANE_CTL_YUV422_YUYV;
> > case DRM_FORMAT_YVYU:
> > @@ -13371,6 +13375,7 @@ static bool
> > skl_plane_format_mod_supported(struct drm_plane *_plane,
> > }
> >
> > switch (format) {
> > +
> > case DRM_FORMAT_XRGB8888:
> > case DRM_FORMAT_XBGR8888:
> > case DRM_FORMAT_ARGB8888:
> > @@ -13390,6 +13395,7 @@ static bool
> > skl_plane_format_mod_supported(struct drm_plane *_plane,
> > if (modifier == I915_FORMAT_MOD_Yf_TILED)
> > return true;
> > /* fall through */
> > + case DRM_FORMAT_AYUV:
> > case DRM_FORMAT_C8:
> > if (modifier == DRM_FORMAT_MOD_LINEAR ||
> > modifier == I915_FORMAT_MOD_X_TILED ||
> > @@ -14510,6 +14516,7 @@ static int intel_framebuffer_init(struct
> > intel_framebuffer *intel_fb,
> > goto err;
> > }
> > break;
> > + case DRM_FORMAT_AYUV:
> > case DRM_FORMAT_YUYV:
> > case DRM_FORMAT_UYVY:
> > case DRM_FORMAT_YVYU:
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> > b/drivers/gpu/drm/i915/intel_sprite.c
> > index 344c0e709b19..ee9f7242aa2b 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1424,6 +1424,7 @@ static bool
> > skl_plane_format_mod_supported(struct drm_plane *_plane,
> > if (modifier == I915_FORMAT_MOD_Yf_TILED)
> > return true;
> > /* fall through */
> > + case DRM_FORMAT_AYUV:
> > case DRM_FORMAT_C8:
> > if (modifier == DRM_FORMAT_MOD_LINEAR ||
> > modifier == I915_FORMAT_MOD_X_TILED ||
> > --
> > 2.17.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
--
Best Regards,
Lisovskiy Stanislav
More information about the Intel-gfx
mailing list