Question about implicit fence sync in display DRM drivers

Qiang Yu yuq825 at gmail.com
Sun Nov 18 12:44:57 UTC 2018


 add ".prepare_fb = drm_gem_fb_prepare_fb," in "drm_plane_helper_funcs"
solve my flicker problem on Allwinner A64.

Thanks,
Qiang
On Sun, Nov 18, 2018 at 8:14 PM Qiang Yu <yuq825 at gmail.com> wrote:
>
> I find the reservation object will be created when: dma_buf_export
> if no reservation object created when buffer object creation.
>
> And the implicit fence can be synced before display in: drm_gem_fb_prepare_fb
> but seems most display driver doesn't call this function.
>
> Regards,
> Qiang
> On Sun, Nov 18, 2018 at 10:43 AM Qiang Yu <yuq825 at gmail.com> wrote:
> >
> > Hi Eric and Wladimir,
> >
> > GPU driver like VC4, Etnaviv and Lima only do rendering and left display
> > to other DRM display drivers. So there should be a render/display sync
> > problem for these drivers.
> >
> > As I know, there are two ways: implicit and explicit described here:
> > https://www.collabora.com/news-and-blog/blog/2016/09/13/mainline-explicit-fencing-part-1/
> >
> > The implicit way need the display DRM driver wait on the reservation object
> > associated with that framebuffer before display it, the reservation
> > object contains
> > fence which is added by render DRM driver to indicate render finish:
> > https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-Intel-4.9-PRIME-Ex-Patch
> >
> > I investigate a bit into these DRM display drivers using CMA GEM helpers,
> > seems there's no reservation object at all, so it should be impossible to
> > support implicit sync.
> >
> > Although explicit way is better, there are still some apps not support it like
> > kodi-gbm. So how do VC4+PL111 and Etnaviv+IMX solve this sync problem,
> > and do these drivers support implicit sync?
> >
> > Thanks,
> > Qiang


More information about the dri-devel mailing list