[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