Lines Matching refs:sync

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
108 * whether the state of the sync object has changed.
123 * the state of the sync object changes or the timeout expires.
143 * Allocate/init the context state related to sync objects.
153 * Free the context state related to sync objects.
163 * Check if the given sync object is:
165 * - not in sync objects hash table
168 * Returns the internal gl_sync_object pointer if the sync object is valid
173 * could delete the sync object while you are still working on it.
176 _mesa_get_and_ref_sync(struct gl_context *ctx, GLsync sync, bool incRefCount)
178 struct gl_sync_object *syncObj = (struct gl_sync_object *) sync;
216 _mesa_IsSync(GLsync sync)
221 return _mesa_get_and_ref_sync(ctx, sync, false) ? GL_TRUE : GL_FALSE;
226 delete_sync(struct gl_context *ctx, GLsync sync, bool no_error)
232 * DeleteSync will silently ignore a <sync> value of zero. An
233 * INVALID_VALUE error is generated if <sync> is neither zero nor the
234 * name of a sync object.
236 if (sync == 0) {
240 syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
243 "glDeleteSync (not a valid sync object)");
247 /* If there are no client-waits or server-waits pending on this sync, delete
258 _mesa_DeleteSync_no_error(GLsync sync)
261 delete_sync(ctx, sync, true);
266 _mesa_DeleteSync(GLsync sync)
269 delete_sync(ctx, sync, false);
281 * applications. If sync support is extended to provide support for
343 * ALREADY_SIGNALED indicates that <sync> was signaled at the time
345 * if <sync> was signaled, even if the value of <timeout> is zero.
367 _mesa_ClientWaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout)
371 struct gl_sync_object *syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
377 _mesa_ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
389 syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
392 "glClientWaitSync (not a valid sync object)");
410 _mesa_WaitSync_no_error(GLsync sync, GLbitfield flags, GLuint64 timeout)
414 struct gl_sync_object *syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
420 _mesa_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
436 syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
439 "glWaitSync (not a valid sync object)");
448 _mesa_GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length,
456 syncObj = _mesa_get_and_ref_sync(ctx, sync, true);
459 "glGetSynciv (not a valid sync object)");
475 /* Update the state of the sync by dipping into the driver. Note that