Question about implicit fence sync in display DRM drivers

Qiang Yu yuq825 at gmail.com
Sun Nov 18 12:14:22 UTC 2018


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