[Intel-gfx] [RFC 0/7] Asynchronous flip implementation for i915

B S, Karthik karthik.b.s at intel.com
Tue Mar 10 10:07:18 UTC 2020



> -----Original Message-----
> From: Zanoni, Paulo R <paulo.r.zanoni at intel.com>
> Sent: Tuesday, March 10, 2020 5:35 AM
> To: B S, Karthik <karthik.b.s at intel.com>; intel-gfx at lists.freedesktop.org
> Cc: ville.syrjala at linux.intel.com; Kulkarni, Vandita
> <vandita.kulkarni at intel.com>; Shankar, Uma <uma.shankar at intel.com>
> Subject: Re: [RFC 0/7] Asynchronous flip implementation for i915
> 
> Em sex, 2020-03-06 às 17:09 +0530, Karthik B S escreveu:
> > Without async flip support in the kernel, fullscreen apps where game
> > resolution is equal to the screen resolution, must perform an extra
> > blit per frame prior to flipping.
> >
> > Asynchronous page flips will also boost the FPS of Mesa benchmarks.
> 
> 
> Thanks a lot for doing this work!

Thanks a lot for the review.
> 
> I did some quick smoke tests on a Gemini Lake and while this appears to be
> working fine with xf86-video-modesetting, the "pageflip.c" program I shared
> previously breaks when you launch it as "./pageflip -n": this argument makes
> the program *not* request for page flip events (by not setting
> DRM_MODE_PAGE_FLIP_EVENT) and just try to flip as fast as it can. I didn't
> investigate why this breaks, but it's probably some corner case the series is
> forgetting.

I hadn't tried out this option. Thanks for pointing this out.
Will fix this in the next revision.
> 
> Also, doesn't async pageflip interact with some other display features?
> Don't we need to disable at least one of FBC, PSR and/or render compression
> when using async page flips?
> 
> Ville mentioned some possible interactions with SURF/OFFSET tracking too
> (framebuffers not being at the start of the bo), which doesn't seem to be
> covered by the series.
> 

Yes, both the above hasn't been taken care of in this series. Thanks for pointing it out.
Will check it and update in the next revision.

Thanks,
Karthik

> Thanks,
> Paulo
> 
> >
> > Karthik B S (7):
> >   drm/i915: Define flip done functions and enable IER
> >   drm/i915: Add support for async flips in I915
> >   drm/i915: Make commit call blocking in case of async flips
> >   drm/i915: Add checks specific to async flips
> >   drm/i915: Add flip_done_handler definition
> >   drm/i915: Enable and handle flip done interrupt
> >   drm/i915: Do not call drm_crtc_arm_vblank_event in async flips
> >
> >  drivers/gpu/drm/i915/display/intel_display.c | 55 +++++++++++++++++--
> > drivers/gpu/drm/i915/display/intel_sprite.c  | 12 ++--
> >  drivers/gpu/drm/i915/i915_irq.c              | 58 +++++++++++++++++++-
> >  drivers/gpu/drm/i915/i915_irq.h              |  2 +
> >  drivers/gpu/drm/i915/i915_reg.h              |  1 +
> >  5 files changed, 117 insertions(+), 11 deletions(-)
> >



More information about the Intel-gfx mailing list