• Home
  • Raw
  • Download

Lines Matching refs:sync

54     This extension introduces the concept of "sync objects" into EGL.
58 of sync object known as a "fence sync object" comparable to the
59 OpenGL fence sync object. The specification is designed to allow
60 additional types of sync objects to be easily introduced in later
63 Fence sync objects have corresponding fence commands, which are
64 inserted into a client API command stream at the time the fence sync
65 is created. A fence sync object is used to wait for completion of
77 "GL_OES_EGL_sync" string indicates that a fence sync object can be
85 * EGLSyncKHR is an opaque handle to an EGL sync object
106 EGLSyncKHR sync);
110 EGLSyncKHR sync,
116 EGLSyncKHR sync,
172 operations within a thread, <sync objects> are provided to enable
178 <unsignaled>. Initially, sync objects are unsignaled. EGL may be
179 asked to wait for a sync object to become signaled, or a sync
182 Depending on the type of a sync object, its status may be changed
184 unsignaling the sync.
188 sync object. All sync objects include attributes for their type and
190 for different types of sync objects.
192 <Fence sync objects> are created in association with a <fence
195 sync object. Fence sync objects may not be explicitly signaled, and
197 status to signaled. Fence sync objects may be used to wait for
208 creates a sync object of the specified <type> associated with the
211 of the sync object, terminated by an attribute entry EGL_NONE.
215 If <type> is EGL_SYNC_FENCE_KHR, a fence sync object is created. In
217 EGL_NONE). Attributes of the fence sync object are
226 When a fence sync object is created, eglCreateSyncKHR also inserts a
229 eglGetCurrentContext), and associates it with the newly created sync
232 When the condition of the sync object is satisfied by the fence
233 command, the sync is signaled by the associated client API context,
235 <sync> to unblock. The only condition currently supported is
237 completion of the fence command corresponding to the sync object,
239 command stream. The sync object will not be signaled until all
247 fence sync object may be created when the currently bound API is
249 a fence sync object may be created when the currently bound API is
261 * If <type> is not a supported type of sync object,
282 EGLSyncKHR sync,
286 blocks the calling thread until the specified sync object <sync> is
290 <sync> at any given time. When there are multiple threads blocked on
291 the same <sync> and the sync object is signaled, all such threads
296 tests the current status of <sync>. If the value of <timeout> is the
304 indicates that the specified timeout period expired before <sync>
305 was signaled, or if <timeout> is zero, indicates that <sync> is
307 indicates that <sync> was signaled before the timeout expired, which
308 includes the case when <sync> was already signaled when
312 If the sync object being blocked upon will not be signaled in finite
317 <flags>, and <sync> is unsignaled when eglClientWaitSyncKHR is
320 eglGetCurrentContext()) before blocking on <sync>. If no context is
327 Applications which block on a fence sync object must take
335 * If <sync> is not a valid sync object for <dpy>, EGL_FALSE is
338 eglCreateSyncKHR when <sync> was created, the behaviour is
346 EGLSyncKHR sync,
350 is used to query attributes of the sync object <sync>. Legal values
351 for <attribute> depend on the type of sync object, as shown in table
357 EGL_SYNC_TYPE_KHR Type of the sync object All
358 EGL_SYNC_STATUS_KHR Status of the sync object All
366 * If <sync> is not a valid sync object for <dpy>, EGL_FALSE is
369 when <sync> was created, the behaviour is undefined.
373 * If <attribute> is not supported for the type of sync object
374 passed in <sync>, EGL_FALSE is returned and an EGL_BAD_MATCH
383 EGLSyncKHR sync);
385 is used to destroy an existing sync object.
387 If any eglClientWaitSyncKHR commands are blocking on <sync> when
388 eglDestroySyncKHR is called, <sync> is flagged for deletion and will
392 If no errors are generated, EGL_TRUE is returned, and <sync> will no
393 longer be the handle of a valid sync object.
398 * If <sync> is not a valid sync object for <dpy>, EGL_FALSE is
401 when <sync> was created, the behaviour is undefined.
408 extension defining two types of sync object; a "reusable sync
409 object" and a "fence sync object". That extension was split to
410 produce standalone extensions for each type of sync object, and
413 reusable sync objects but is otherwise very similar to the
446 RESOLVED: eglClientWaitSyncKHR blocks until the status of the sync
452 * A fence sync object has two possible status values: signaled or
454 * When created, the status of the sync object is unsignaled.
455 * A fence command is inserted into a command stream. A fence sync
458 associated sync object to the signaled state. The only condition
461 sync object, not on a fence command.
462 * A wait function called on a sync object in the unsignaled state
464 when the sync object transitions to the signaled state.
465 * A wait function called on a sync object in the signaled state
473 sync object?
477 Fence sync objects are intended to be signalled by the graphics
480 forever. To reduce implementation complexity, fence sync objects are
483 The handle to a fence sync object immediately becomes invalid
490 of zero for an unsignaled <sync> (Bug 11576).
492 - Simplify issues list to remove issues specific to reusable sync
493 objects and general sync object design issues.
501 to create "reusable sync objects and all tokens/wording specific
509 - Update eglDestroySyncKHR to special-case deletion of fence sync
518 - Define separate one-time fence sync and reusable sync extensions
522 which functions apply to which types of sync objects. Update
525 - Clarify that all waiters are woken up on signalling a sync.
532 - Changed sync flags type from EGLuint to EGLint and add issue 7.
550 - remove obsolete wording about Native sync objects (see issue 5)
555 - Removed native sync support (eglCreateNativeSyncKHR and