[Intel-gfx] [PATCH 09/12] Do more checks for proposed flip pixmaps
ville.syrjala at linux.intel.com
Thu Jul 31 07:43:18 PDT 2014
On Wed, Jul 30, 2014 at 11:01:48PM -0700, Keith Packard wrote:
> Eric Anholt <eric at anholt.net> writes:
> > Keith Packard <keithp at keithp.com> writes:
> >> Make sure the pitch and tiling are correct.
> >> Make sure there's a BO we can get at.
> > I thought we couldn't change these parameters, but now I can't find what
> > prevents them from changing. Can you cite sources?
> Looks like we *can* change tiling format. That actually makes me kinda
> happy as that explains why we were able to allocate a linear frame
> buffer for the X front buffer (due to a bug) and page flip to DRI3
> buffers which are always tiled.
> However, we can't change the pitch. From the kernel driver:
> * TILEOFF/LINOFF registers can't be changed via MI display flips.
> * Note that pitch changes could also affect these register.
> if (INTEL_INFO(dev)->gen > 3 &&
> (fb->offsets != crtc->primary->fb->offsets ||
> fb->pitches != crtc->primary->fb->pitches))
> return -EINVAL;
> I'll remove the tiling check.
Now that we have mmio flips in the kernel we can start to relax that
restriction. That still needs a bit more work in the mmio flip code
but I believe some people working on just that.
We could even change the pixel format, except a check was added to
drm_mode_page_flip_ioctl() to prevent that, so I guess it was
deemed that the API isn't meant to allow that.
More information about the xorg-devel