Lines Matching refs:syncobj
69 struct iris_syncobj *syncobj = malloc(sizeof(*syncobj));
71 if (!syncobj)
74 syncobj->handle = gem_syncobj_create(fd, 0);
75 assert(syncobj->handle);
77 pipe_reference_init(&syncobj->ref, 1);
79 return syncobj;
83 iris_syncobj_destroy(struct iris_bufmgr *bufmgr, struct iris_syncobj *syncobj)
86 gem_syncobj_destroy(fd, syncobj->handle);
87 free(syncobj);
91 iris_syncobj_signal(struct iris_bufmgr *bufmgr, struct iris_syncobj *syncobj)
95 .handles = (uintptr_t)&syncobj->handle,
100 fprintf(stderr, "failed to signal syncobj %"PRIu32"\n",
101 syncobj->handle);
112 struct iris_syncobj *syncobj,
119 .handle = syncobj->handle,
127 iris_syncobj_reference(batch->screen->bufmgr, store, syncobj);
149 /* Skip the first syncobj, as it's the signalling one. */
151 struct iris_syncobj **syncobj =
158 if (iris_wait_syncobj(bufmgr, *syncobj, 0))
164 iris_syncobj_reference(bufmgr, syncobj, NULL);
173 if (syncobj != nth_syncobj) {
174 *syncobj = *nth_syncobj;
216 struct iris_syncobj *syncobj,
219 if (!syncobj)
225 .handles = (uintptr_t)&syncobj->handle,
300 * syncobj on this engine - unless it's already finished by now.
352 iris_batch_add_syncobj(batch, fine->syncobj, I915_EXEC_FENCE_WAIT);
395 * flushed yet. Check if our syncobj is the current batch's signalling
396 * syncobj - if so, we haven't flushed and need to now.
409 if (fine->syncobj == iris_batch_get_signal_syncobj(batch))
425 handles[handle_count++] = fine->syncobj->handle;
492 .handle = fine->syncobj->handle,
502 /* Our fence has no syncobj's recorded. This means that all of the
503 * batches had already completed, their syncobj's had been signalled,
505 * export such a fence. So export a dummy already-signalled syncobj.
547 struct iris_syncobj *syncobj = malloc(sizeof(*syncobj));
548 if (!syncobj) {
552 syncobj->handle = args.handle;
553 pipe_reference_init(&syncobj->ref, 1);
557 free(syncobj);
570 fine->syncobj = syncobj;
577 free(syncobj);
605 iris_batch_add_syncobj(batch, fine->syncobj, I915_EXEC_FENCE_SIGNAL);