Lines Matching defs:sync
3355 dri2_egl_ref_sync(struct dri2_egl_sync *sync)
3357 p_atomic_inc(&sync->refcount);
3462 /* initial status of reusable sync must be "unsignaled" */
3485 dri2_destroy_sync(_EGLDisplay *disp, _EGLSync *sync)
3488 struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
3492 /* if type of sync is EGL_SYNC_REUSABLE_KHR and it is not signaled yet,
3493 * then unlock all threads possibly blocked by the reusable sync before
3499 /* unblock all threads currently blocked by sync */
3514 dri2_dup_native_fence_fd(_EGLDisplay *disp, _EGLSync *sync)
3517 struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
3519 assert(sync->Type == EGL_SYNC_NATIVE_FENCE_ANDROID);
3521 if (sync->SyncFd == EGL_NO_NATIVE_FENCE_FD_ANDROID) {
3525 sync->SyncFd = dri2_dpy->fence->get_fence_fd(dri2_dpy->dri_screen,
3529 if (sync->SyncFd == EGL_NO_NATIVE_FENCE_FD_ANDROID) {
3535 assert(sync_valid_fd(sync->SyncFd));
3537 return os_dupfd_cloexec(sync->SyncFd);
3552 dri2_client_wait_sync(_EGLDisplay *disp, _EGLSync *sync,
3558 struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
3571 /* the sync object should take a reference while waiting */
3574 switch (sync->Type) {
3599 /* if reusable sync has not been yet signaled */
3644 dri2_signal_sync(_EGLDisplay *disp, _EGLSync *sync, EGLenum mode)
3646 struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);
3649 if (sync->Type != EGL_SYNC_REUSABLE_KHR)
3669 dri2_server_wait_sync(_EGLDisplay *disp, _EGLSync *sync)
3674 struct dri2_egl_sync *dri2_sync = dri2_egl_sync(sync);