[Intel-gfx] [PATCH] drm/i915: Revoke partial fences when installing on the scanout

Daniel Vetter daniel at ffwll.ch
Tue Dec 27 14:52:32 UTC 2016


On Thu, Dec 22, 2016 at 06:39:39PM -0200, Paulo Zanoni wrote:
> Em Qui, 2016-12-22 às 13:52 +0000, Chris Wilson escreveu:
> > In commit 50349247ea80 ("drm/i915: Drop ORIGIN_GTT for untracked GTT
> > writes") partial mmaps were updated to indicate that writes through
> > them
> > were not tracked automatically by the hardware and that the expected
> > subsequent manual invalidations by the application (on calling
> > dirtyfb at
> > the end of the frame) take over from the hardware tracking. However,
> > not
> > all applications actually call dirtyfb on the scanout after they
> > dirty it
> > and so those writes through partial GTT mmaps are not being tracked
> > and
> > triggering FBC updates.
> 
> Since the application in question here is IGT, and IGT is generally not
> considered a real API/ABI user to enforce backwards compatibility
> forever, I can make the required changes to IGT in case we conclude
> that's the appropriate way to go, just tell me. But if that's the case,
> I really think we should try to sit down and write what are the
> expectations for frontbuffer rendering in user space code, because it
> seems to me that these expectations are changing over time...

Yeah, same here. Afaiui it's not resulting in any functional issues (like
outdated screen contents), just fbc not gettting re-enabled. I think just
expecting all userspace that cares to call dirtyfb, and adjusting IGT is
the more reasonable option. We're still making a best effort at keeping
fbc working for userspace that doesn't, but trying to make it perfect is
probably a long game of whack-a-mole. I don't think that's worth it.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list