• Home
  • Raw
  • Download

Lines Matching full:sync

26  * Sync object management.
28 * Unlike textures and other objects that are shared between contexts, sync
30 * and delete behavior of sync objects is slightly different. References to
31 * sync objects are added:
45 * As with shader objects, sync object names become invalid as soon as
78 * Allocate/init the context state related to sync objects.
88 * Free the context state related to sync objects.
145 * - sync is unsignaled when ClientWaitSync is called, in __client_wait_sync()
149 * immediately after the creation of sync. in __client_wait_sync()
164 * Check if the given sync object is:
166 * - not in sync objects hash table
169 * Returns the internal gl_sync_object pointer if the sync object is valid
174 * could delete the sync object while you are still working on it.
177 _mesa_get_and_ref_sync(struct gl_context *ctx, GLsync sync, bool incRefCount) in _mesa_get_and_ref_sync() argument
179 struct gl_sync_object *syncObj = (struct gl_sync_object *) sync; in _mesa_get_and_ref_sync()
217 _mesa_IsSync(GLsync sync) in _mesa_IsSync() argument
222 return _mesa_get_and_ref_sync(ctx, sync, false) ? GL_TRUE : GL_FALSE; in _mesa_IsSync()
227 delete_sync(struct gl_context *ctx, GLsync sync, bool no_error) in delete_sync() argument
233 * DeleteSync will silently ignore a <sync> value of zero. An in delete_sync()
234 * INVALID_VALUE error is generated if <sync> is neither zero nor the in delete_sync()
235 * name of a sync object. in delete_sync()
237 if (sync == 0) { in delete_sync()
241 syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in delete_sync()
244 "glDeleteSync (not a valid sync object)"); in delete_sync()
248 /* If there are no client-waits or server-waits pending on this sync, delete in delete_sync()
259 _mesa_DeleteSync_no_error(GLsync sync) in _mesa_DeleteSync_no_error() argument
262 delete_sync(ctx, sync, true); in _mesa_DeleteSync_no_error()
267 _mesa_DeleteSync(GLsync sync) in _mesa_DeleteSync() argument
270 delete_sync(ctx, sync, false); in _mesa_DeleteSync()
282 * applications. If sync support is extended to provide support for in _mesa_fence_sync()
348 * ALREADY_SIGNALED indicates that <sync> was signaled at the time in client_wait_sync()
350 * if <sync> was signaled, even if the value of <timeout> is zero. in client_wait_sync()
372 _mesa_ClientWaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout) in _mesa_ClientWaitSync_no_error() argument
376 struct gl_sync_object *syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in _mesa_ClientWaitSync_no_error()
382 _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) in _mesa_ClientWaitSync() argument
394 syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in _mesa_ClientWaitSync()
397 "glClientWaitSync (not a valid sync object)"); in _mesa_ClientWaitSync()
440 _mesa_WaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout) in _mesa_WaitSync_no_error() argument
444 struct gl_sync_object *syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in _mesa_WaitSync_no_error()
450 _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) in _mesa_WaitSync() argument
466 syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in _mesa_WaitSync()
469 "glWaitSync (not a valid sync object)"); in _mesa_WaitSync()
478 _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, in _mesa_GetSynciv() argument
486 syncObj = _mesa_get_and_ref_sync(ctx, sync, true); in _mesa_GetSynciv()
489 "glGetSynciv (not a valid sync object)"); in _mesa_GetSynciv()
505 /* Update the state of the sync by dipping into the driver. Note that in _mesa_GetSynciv()
526 /* Section 4.1.3 (Sync Object Queries) of the OpenGL ES 3.10 spec says: in _mesa_GetSynciv()