Lines Matching refs:syncobj

66    struct crocus_syncobj *syncobj = malloc(sizeof(*syncobj));
68 if (!syncobj)
71 syncobj->handle = gem_syncobj_create(screen->fd, 0);
72 assert(syncobj->handle);
74 pipe_reference_init(&syncobj->ref, 1);
76 return syncobj;
81 struct crocus_syncobj *syncobj)
83 gem_syncobj_destroy(screen->fd, syncobj->handle);
84 free(syncobj);
94 struct crocus_syncobj *syncobj, unsigned flags)
100 .handle = syncobj->handle,
108 crocus_syncobj_reference(batch->screen, store, syncobj);
129 /* Skip the first syncobj, as it's the signalling one. */
131 struct crocus_syncobj **syncobj =
138 if (crocus_wait_syncobj(&screen->base, *syncobj, 0))
144 crocus_syncobj_reference(screen, syncobj, NULL);
153 if (syncobj != nth_syncobj) {
154 *syncobj = *nth_syncobj;
195 struct crocus_syncobj *syncobj, int64_t timeout_nsec)
197 if (!syncobj)
202 .handles = (uintptr_t)&syncobj->handle,
246 * syncobj on this engine - unless it's already finished by now.
287 crocus_batch_add_syncobj(batch, fine->syncobj, I915_EXEC_FENCE_WAIT);
327 * flushed yet. Check if our syncobj is the current batch's signalling
328 * syncobj - if so, we haven't flushed and need to now.
341 if (fine->syncobj == crocus_batch_get_signal_syncobj(&ice->batches[i]))
357 handles[handle_count++] = fine->syncobj->handle;
440 .handle = fine->syncobj->handle,
450 /* Our fence has no syncobj's recorded. This means that all of the
451 * batches had already completed, their syncobj's had been signalled,
453 * export such a fence. So export a dummy already-signalled syncobj.
494 struct crocus_syncobj *syncobj = malloc(sizeof(*syncobj));
495 if (!syncobj) {
499 syncobj->handle = args.handle;
500 pipe_reference_init(&syncobj->ref, 1);
504 free(syncobj);
517 fine->syncobj = syncobj;
524 free(syncobj);
551 crocus_batch_add_syncobj(&ice->batches[b], fine->syncobj,