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." >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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx