[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