diff options
author | Erik Kurzinger <ekurzinger@nvidia.com> | 2024-04-30 11:55:08 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2024-05-02 08:17:35 +0000 |
commit | 80f74b0e44ebf78424384fb32592ebabb55a48d9 (patch) | |
tree | d1bcd42b988b37f9bacf56d4aa3b696541b5f5d1 /present | |
parent | d5192ba8eb87f5a36bc77a7b95d349ae74fd5a59 (diff) |
present: signal explicit sync release point in present_vblank_scrap
If a present request using explicit sync is scrapped, instead of sending
a PresentIdleNotify event we should signal the release point.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1511>
Diffstat (limited to 'present')
-rw-r--r-- | present/present_vblank.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/present/present_vblank.c b/present/present_vblank.c index dd255cc60..1c0461e84 100644 --- a/present/present_vblank.c +++ b/present/present_vblank.c @@ -221,7 +221,14 @@ present_vblank_scrap(present_vblank_ptr vblank) vblank->pixmap->drawable.id, vblank->window->drawable.id, vblank->crtc)); - present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence); +#ifdef DRI3 + if (vblank->release_syncobj) + vblank->release_syncobj->signal(vblank->release_syncobj, + vblank->release_point); + else +#endif /* DRI3 */ + present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence); + present_fence_destroy(vblank->idle_fence); dixDestroyPixmap(vblank->pixmap, vblank->pixmap->drawable.id); |