[Intel-gfx] [PATCH 2/2] drm/i915: Add 90/270 rotation for NV12 format.

Konduru, Chandra chandra.konduru at intel.com
Tue May 19 16:12:43 PDT 2015



> -----Original Message-----
> From: Runyan, Arthur J
> Sent: Monday, May 18, 2015 12:19 PM
> To: Konduru, Chandra; Ville Syrjälä
> Cc: intel-gfx at lists.freedesktop.org; Vetter, Daniel; Syrjala, Ville; Jindal, Sonika
> Subject: RE: [Intel-gfx] [PATCH 2/2] drm/i915: Add 90/270 rotation for NV12
> format.
> 
> The statement is correct - " the X offset must always be even for YUV422+NV12,
> and the Y offset must be even when rotated 90/270 degrees."

Thanks Art.
Then below code to take care evenness for both X and Y offsets when YUV 90/270 
is ok.

Ville, with this, can you give R-b tag on the ones you reviewed? 

> 
> >From: Konduru, Chandra
> >> 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