[Intel-gfx] [PATCH 3/6] drm/i915: Always prepare planes at the start of an atomic commit
Chris Wilson
chris at chris-wilson.co.uk
Mon Aug 22 08:11:00 UTC 2016
On Mon, Aug 22, 2016 at 10:02:52AM +0200, Daniel Vetter wrote:
> On Sun, Aug 21, 2016 at 02:15:33PM +0100, Chris Wilson wrote:
> > The generic atomic helper likes to skip a prepare_plane_fb() if it
> > decides that the plane->fb is unchanged. This is wrong for us for a
> > couple of reasons:
> >
> > - if the pipe is reconfigured (i.e. a size change) but the framebuffer
> > is untouched, we still have to flush any rendering prior to the
> > reconfiguration to prevent wait-for-scanline GPU hangs
> >
> > - if the framebuffer is rotated, it remains the same but has a
> > different view and a different address.
> >
> > Finally, even if the framebuffer is unchanged the flip/modeset should be
> > ordered with respect to rendering to the frontbuffer.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>
> Won't this again break the hacks we have to make the cursor happy?
Nope.
> And maybe we should have this in the core helpers even, with a
> drm_plane_state->fb_changed.
Probably. But note that we only know this after the prepare_plane_fb
callback.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list