Present: add PresentCapabilitySyncobj and PresentPixmapSynced

Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967>
This commit is contained in:
Erik Kurzinger
2024-03-18 11:33:15 -07:00
committed by Olivier Fourdan
parent 0a7b09a041
commit ac0bc0b3b6
11 changed files with 332 additions and 41 deletions

View File

@@ -738,6 +738,12 @@ present_scmd_pixmap(WindowPtr window,
RRCrtcPtr target_crtc,
SyncFence *wait_fence,
SyncFence *idle_fence,
#ifdef DRI3
struct dri3_syncobj *acquire_syncobj,
struct dri3_syncobj *release_syncobj,
uint64_t acquire_point,
uint64_t release_point,
#endif /* DRI3 */
uint32_t options,
uint64_t target_window_msc,
uint64_t divisor,
@@ -754,6 +760,11 @@ present_scmd_pixmap(WindowPtr window,
present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE);
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
#ifdef DRI3
if (acquire_syncobj || release_syncobj)
return BadValue;
#endif /* DRI3 */
if (!window_priv)
return BadAlloc;
@@ -824,6 +835,12 @@ present_scmd_pixmap(WindowPtr window,
target_crtc,
wait_fence,
idle_fence,
#ifdef DRI3
acquire_syncobj,
release_syncobj,
acquire_point,
release_point,
#endif /* DRI3 */
options,
screen_priv->info ? screen_priv->info->capabilities : 0,
notifies,