Home | History | Annotate | Download | only in main

Lines Matching refs:sync

39  * Parse the list of sync attributes and return the proper error code.
42 _eglParseSyncAttribList(_EGLSync *sync, const EGLAttrib *attrib_list)
56 if (sync->Type == EGL_SYNC_CL_EVENT_KHR) {
57 sync->CLEvent = val;
63 if (sync->Type == EGL_SYNC_NATIVE_FENCE_ANDROID) {
65 sync->SyncFd = val;
76 _eglLog(_EGL_DEBUG, "bad sync attribute 0x%" PRIxPTR, attr);
86 _eglInitSync(_EGLSync *sync, _EGLDisplay *dpy, EGLenum type,
91 _eglInitResource(&sync->Resource, sizeof(*sync), dpy);
92 sync->Type = type;
93 sync->SyncStatus = EGL_UNSIGNALED_KHR;
94 sync->SyncFd = EGL_NO_NATIVE_FENCE_FD_ANDROID;
96 err = _eglParseSyncAttribList(sync, attrib_list);
100 sync->SyncCondition = EGL_SYNC_CL_EVENT_COMPLETE_KHR;
103 if (sync->SyncFd == EGL_NO_NATIVE_FENCE_FD_ANDROID)
104 sync->SyncCondition = EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR;
106 sync->SyncCondition = EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID;
109 sync->SyncCondition = EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR;
115 if (type == EGL_SYNC_CL_EVENT_KHR && !sync->CLEvent)
123 _eglGetSyncAttrib(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync,
128 *value = sync->Type;
131 /* update the sync status */
132 if (sync->SyncStatus != EGL_SIGNALED_KHR &&
133 (sync->Type == EGL_SYNC_FENCE_KHR ||
134 sync->Type == EGL_SYNC_CL_EVENT_KHR ||
135 sync->Type == EGL_SYNC_REUSABLE_KHR ||
136 sync->Type == EGL_SYNC_NATIVE_FENCE_ANDROID))
137 drv->API.ClientWaitSyncKHR(drv, dpy, sync, 0, 0);
139 *value = sync->SyncStatus;
142 if (sync->Type != EGL_SYNC_FENCE_KHR &&
143 sync->Type != EGL_SYNC_CL_EVENT_KHR &&
144 sync->Type != EGL_SYNC_NATIVE_FENCE_ANDROID)
146 *value = sync->SyncCondition;