[Intel-gfx] [PATCH 2/2] drm/i915: Add 90/270 rotation for NV12 format.
Konduru, Chandra
chandra.konduru at intel.com
Fri May 15 14:58:40 PDT 2015
> From: Runyan, Arthur J
>
> I'll take a look.
Art, Any update to close on this?
[snip]
> > > > @@ -13144,6 +13149,10 @@ intel_check_primary_plane(struct
> > > > drm_plane
> > > *plane,
> > > > if (fb && format_is_yuv(fb->pixel_format)) {
> > > > src->x1 &= ~0x10000;
> > > > src->x2 &= ~0x10000;
> > > > + if (intel_rotation_90_or_270(state->base.rotation)) {
> > > > + src->y1 &= ~0x10000;
> > > > + src->y2 &= ~0x10000;
> > > > + }
> > >
> > > This feels fishy. Why do we need to make the Y coordinates even? The
> > > reson for making the X coordinates even is to make them macropixel
> > > aligned, but there are no macropixels in the Y direction so this
> > > doesn't make much sense to me.
> >
> > Hi Ville,
> > Per skl spec, it is expecting even lines aligned with 90/270 rotation
> > not only for NV12 but also for 422 formats. Perhaps we might have
> > missed when 90/270 enabled for packed YUV formats.
>
> The src coordinates are always in the fb orientation, so macropixels appear in
> the src.x direction only. And when we do 90/270 rotation the hardware Y offset
> comes from src.x coordinates.
>
> The spec does seem a bit confused though; It claims the X offset must always be
> even for YUV422+NV12, and the Y offset must be even when rotated 90/270
> degrees. I suspect the X offset text just didn't get updated when 90/270 rotation
> was added.
>
> Art, can you confirm?
>
> --
> Ville Syrjälä
> Intel OTC
More information about the Intel-gfx
mailing list