Home
last modified time | relevance | path

Searched refs:syncobj (Results 1 - 25 of 41) sorted by relevance

12

/third_party/mesa3d/src/gallium/drivers/iris/
H A Diris_fence.c69 struct iris_syncobj *syncobj = malloc(sizeof(*syncobj)); in iris_create_syncobj() local
71 if (!syncobj) in iris_create_syncobj()
74 syncobj->handle = gem_syncobj_create(fd, 0); in iris_create_syncobj()
75 assert(syncobj->handle); in iris_create_syncobj()
77 pipe_reference_init(&syncobj->ref, 1); in iris_create_syncobj()
79 return syncobj; in iris_create_syncobj()
83 iris_syncobj_destroy(struct iris_bufmgr *bufmgr, struct iris_syncobj *syncobj) in iris_syncobj_destroy() argument
86 gem_syncobj_destroy(fd, syncobj->handle); in iris_syncobj_destroy()
87 free(syncobj); in iris_syncobj_destroy()
91 iris_syncobj_signal(struct iris_bufmgr *bufmgr, struct iris_syncobj *syncobj) iris_syncobj_signal() argument
111 iris_batch_add_syncobj(struct iris_batch *batch, struct iris_syncobj *syncobj, unsigned flags) iris_batch_add_syncobj() argument
151 struct iris_syncobj **syncobj = clear_stale_syncobjs() local
215 iris_wait_syncobj(struct iris_bufmgr *bufmgr, struct iris_syncobj *syncobj, int64_t timeout_nsec) iris_wait_syncobj() argument
547 struct iris_syncobj *syncobj = malloc(sizeof(*syncobj)); iris_fence_create_fd() local
[all...]
H A Diris_fence.h46 struct iris_syncobj *syncobj,
49 struct iris_syncobj *syncobj,
H A Diris_batch.h134 /** A seqno (and syncobj) for the last batch that was submitted. */
275 * Get a pointer to the batch's signalling syncobj. Does not refcount.
280 /* The signalling syncobj is the first one in the list. */ in iris_batch_get_signal_syncobj()
281 struct iris_syncobj *syncobj = in iris_batch_get_signal_syncobj() local
283 return syncobj; in iris_batch_get_signal_syncobj()
288 * Take a reference to the batch's signalling syncobj.
297 struct iris_syncobj *syncobj = iris_batch_get_signal_syncobj(batch); in iris_batch_reference_signal_syncobj() local
298 iris_syncobj_reference(batch->screen->bufmgr, out_syncobj, syncobj); in iris_batch_reference_signal_syncobj()
H A Diris_fine_fence.c39 iris_syncobj_reference(screen->bufmgr, &fine->syncobj, NULL); in iris_fine_fence_destroy()
55 iris_syncobj_reference(batch->screen->bufmgr, &fine->syncobj, in iris_fine_fence_new()
H A Diris_query.c68 struct iris_syncobj *syncobj; member
486 iris_syncobj_reference(screen->bufmgr, &query->syncobj, NULL); in iris_destroy_query()
561 iris_batch_reference_signal_syncobj(batch, &q->syncobj); in iris_end_query()
579 iris_batch_reference_signal_syncobj(batch, &q->syncobj); in iris_end_query()
630 if (q->syncobj == iris_batch_get_signal_syncobj(batch)) in iris_get_query_result()
635 iris_wait_syncobj(screen->bufmgr, q->syncobj, INT64_MAX); in iris_get_query_result()
678 if (q->syncobj == iris_batch_get_signal_syncobj(batch)) in iris_get_query_result_resource()
/third_party/mesa3d/src/gallium/drivers/crocus/
H A Dcrocus_fence.c66 struct crocus_syncobj *syncobj = malloc(sizeof(*syncobj)); in crocus_create_syncobj() local
68 if (!syncobj) in crocus_create_syncobj()
71 syncobj->handle = gem_syncobj_create(screen->fd, 0); in crocus_create_syncobj()
72 assert(syncobj->handle); in crocus_create_syncobj()
74 pipe_reference_init(&syncobj->ref, 1); in crocus_create_syncobj()
76 return syncobj; in crocus_create_syncobj()
81 struct crocus_syncobj *syncobj) in crocus_syncobj_destroy()
83 gem_syncobj_destroy(screen->fd, syncobj->handle); in crocus_syncobj_destroy()
84 free(syncobj); in crocus_syncobj_destroy()
80 crocus_syncobj_destroy(struct crocus_screen *screen, struct crocus_syncobj *syncobj) crocus_syncobj_destroy() argument
93 crocus_batch_add_syncobj(struct crocus_batch *batch, struct crocus_syncobj *syncobj, unsigned flags) crocus_batch_add_syncobj() argument
131 struct crocus_syncobj **syncobj = clear_stale_syncobjs() local
194 crocus_wait_syncobj(struct pipe_screen *p_screen, struct crocus_syncobj *syncobj, int64_t timeout_nsec) crocus_wait_syncobj() argument
494 struct crocus_syncobj *syncobj = malloc(sizeof(*syncobj)); crocus_fence_create_fd() local
[all...]
H A Dcrocus_fence.h44 struct crocus_syncobj *syncobj,
47 struct crocus_syncobj *syncobj,
H A Dcrocus_batch.h146 /** A seqno (and syncobj) for the last batch that was submitted. */
274 * Get a pointer to the batch's signalling syncobj. Does not refcount.
279 /* The signalling syncobj is the first one in the list. */ in crocus_batch_get_signal_syncobj()
280 struct crocus_syncobj *syncobj = in crocus_batch_get_signal_syncobj() local
282 return syncobj; in crocus_batch_get_signal_syncobj()
286 * Take a reference to the batch's signalling syncobj.
295 struct crocus_syncobj *syncobj = crocus_batch_get_signal_syncobj(batch); in crocus_batch_reference_signal_syncobj() local
296 crocus_syncobj_reference(batch->screen, out_syncobj, syncobj); in crocus_batch_reference_signal_syncobj()
H A Dcrocus_fine_fence.c43 crocus_syncobj_reference(screen, &fine->syncobj, NULL); in crocus_fine_fence_destroy()
59 crocus_syncobj_reference(batch->screen, &fine->syncobj, in crocus_fine_fence_new()
H A Dcrocus_query.c90 struct crocus_syncobj *syncobj; member
516 crocus_syncobj_reference(screen, &query->syncobj, NULL); in crocus_destroy_query()
602 crocus_batch_reference_signal_syncobj(batch, &q->syncobj); in crocus_end_query()
629 crocus_batch_reference_signal_syncobj(batch, &q->syncobj); in crocus_end_query()
672 if (q->syncobj == crocus_batch_get_signal_syncobj(batch)) in crocus_get_query_result()
678 crocus_wait_syncobj(ctx->screen, q->syncobj, INT64_MAX); in crocus_get_query_result()
684 if (crocus_wait_syncobj(ctx->screen, q->syncobj, wait ? INT64_MAX : 0)) { in crocus_get_query_result()
730 if (q->syncobj == crocus_batch_get_signal_syncobj(batch)) in crocus_get_query_result_resource()
/third_party/mesa3d/src/virtio/vulkan/
H A Dvn_renderer_virtgpu.c167 struct sim_syncobj *syncobj = calloc(1, sizeof(*syncobj)); in sim_syncobj_create() local
168 if (!syncobj) in sim_syncobj_create()
171 mtx_init(&syncobj->mutex, mtx_plain); in sim_syncobj_create()
172 syncobj->pending_fd = -1; in sim_syncobj_create()
202 (const void *)(uintptr_t)syncobj_handle, syncobj); in sim_syncobj_create()
212 struct sim_syncobj *syncobj = NULL; in sim_syncobj_destroy() local
219 syncobj = entry->data; in sim_syncobj_destroy()
226 if (syncobj) { in sim_syncobj_destroy()
227 if (syncobj in sim_syncobj_destroy()
255 sim_syncobj_set_point_locked(struct sim_syncobj *syncobj, uint64_t point) sim_syncobj_set_point_locked() argument
267 sim_syncobj_update_point_locked(struct sim_syncobj *syncobj, int poll_timeout) sim_syncobj_update_point_locked() argument
298 struct sim_syncobj *syncobj = NULL; sim_syncobj_lookup() local
313 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_reset() local
329 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_query() local
346 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_signal() local
364 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_submit() local
421 struct sim_syncobj *syncobj = sim_syncobj_wait() local
456 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_export() local
474 struct sim_syncobj *syncobj = sim_syncobj_lookup(gpu, syncobj_handle); sim_syncobj_import() local
[all...]
/third_party/mesa3d/src/vulkan/runtime/
H A Dvk_drm_syncobj.c56 int err = drmSyncobjCreate(device->drm_fd, flags, &sobj->syncobj); in vk_drm_syncobj_init()
63 err = drmSyncobjTimelineSignal(device->drm_fd, &sobj->syncobj, in vk_drm_syncobj_init()
82 ASSERTED int err = drmSyncobjDestroy(device->drm_fd, sobj->syncobj); in vk_drm_syncobj_finish()
96 err = drmSyncobjTimelineSignal(device->drm_fd, &sobj->syncobj, &value, 1); in vk_drm_syncobj_signal()
98 err = drmSyncobjSignal(device->drm_fd, &sobj->syncobj, 1); in vk_drm_syncobj_signal()
115 int err = drmSyncobjQuery(device->drm_fd, &sobj->syncobj, value, 1); in vk_drm_syncobj_get_value()
131 int err = drmSyncobjReset(device->drm_fd, &sobj->syncobj, 1); in vk_drm_syncobj_reset()
143 uint32_t handle = to_drm_syncobj(sync)->syncobj; in sync_has_sync_file()
154 * eventually. Do a zero-time syncobj wait if the export failed. in sync_has_sync_file()
233 /* The syncobj AP in vk_drm_syncobj_wait_many()
406 uint32_t syncobj = 0; vk_drm_syncobj_get_type() local
[all...]
H A Dvk_drm_syncobj.h36 uint32_t syncobj; member
/third_party/mesa3d/src/gallium/drivers/freedreno/
H A Dfreedreno_fence.c109 if (fence->syncobj) in fd_fence_destroy()
110 drmSyncobjDestroy(fd_device_fd(fence->screen->dev), fence->syncobj); in fd_fence_destroy()
162 int syncobj) in fence_create()
180 fence->syncobj = syncobj; in fence_create()
198 uint32_t syncobj; in fd_create_fence_fd() local
201 ret = drmSyncobjFDToHandle(fd_device_fd(ctx->screen->dev), fd, &syncobj); in fd_create_fence_fd()
205 *pfence = fence_create(fd_context(pctx), NULL, -1, syncobj); in fd_create_fence_fd()
243 if (fence->syncobj) { in fd_fence_server_signal()
244 drmSyncobjSignal(fd_device_fd(ctx->screen->dev), &fence->syncobj, in fd_fence_server_signal()
161 fence_create(struct fd_context *ctx, struct fd_batch *batch, int fence_fd, int syncobj) fence_create() argument
[all...]
/third_party/mesa3d/src/panfrost/vulkan/
H A Dpanvk_vX_device.c125 panvk_queue_transfer_sync(struct panvk_queue *queue, uint32_t syncobj) in panvk_queue_transfer_sync() argument
140 handle.handle = syncobj; in panvk_queue_transfer_sync()
159 in_fences[(*nr_in_fences)++] = op->event->syncobj; in panvk_add_wait_event_syncobjs()
175 panvk_queue_transfer_sync(queue, op->event->syncobj); in panvk_signal_event_syncobjs()
182 .handles = (uint64_t) (uintptr_t) &event->syncobj, in panvk_signal_event_syncobjs()
213 struct vk_drm_syncobj *syncobj = in queue_submit() local
216 semaphores[i + 1] = syncobj->syncobj; in queue_submit()
292 struct vk_drm_syncobj *syncobj = in queue_submit() local
295 panvk_queue_transfer_sync(queue, syncobj in queue_submit()
[all...]
/third_party/mesa3d/src/gallium/drivers/v3d/
H A Dv3d_fence.c81 unsigned syncobj; in v3d_fence_wait() local
83 ret = drmSyncobjCreate(screen->fd, 0, &syncobj); in v3d_fence_wait()
85 fprintf(stderr, "Failed to create syncobj to wait on: %d\n", in v3d_fence_wait()
90 ret = drmSyncobjImportSyncFile(screen->fd, syncobj, fence->fd); in v3d_fence_wait()
92 fprintf(stderr, "Failed to import fence to syncobj: %d\n", ret); in v3d_fence_wait()
100 ret = drmSyncobjWait(screen->fd, &syncobj, 1, abs_timeout, 0, NULL); in v3d_fence_wait()
102 drmSyncobjDestroy(screen->fd, syncobj); in v3d_fence_wait()
127 * another syncobj instead of a sync file, but this is all we get. in v3d_fence_create()
128 * (HandleToFD/FDToHandle just gives you another syncobj ID for the in v3d_fence_create()
129 * same syncobj) in v3d_fence_create()
[all...]
/third_party/mesa3d/src/amd/vulkan/winsys/amdgpu/
H A Dradv_amdgpu_cs.c90 uint32_t *syncobj; member
1263 ret = amdgpu_cs_syncobj_export_sync_file(ctx->ws->dev, sem_info->wait.syncobj[i], &fd2); in radv_amdgpu_cs_submit_zero()
1275 ctx->ws->dev, sem_info->wait.syncobj[i + sem_info->wait.syncobj_count], in radv_amdgpu_cs_submit_zero()
1284 ctx->ws->dev, &sem_info->wait.syncobj[i + sem_info->wait.syncobj_count], &point, 1, in radv_amdgpu_cs_submit_zero()
1305 uint32_t dst_handle = sem_info->signal.syncobj[i]; in radv_amdgpu_cs_submit_zero()
1326 sem_info->signal.syncobj[i + sem_info->signal.syncobj_count], in radv_amdgpu_cs_submit_zero()
1387 wait_syncobj[wait_idx] = ((struct vk_drm_syncobj *)waits[i].sync)->syncobj; in radv_amdgpu_winsys_cs_submit()
1397 signal_syncobj[signal_idx] = ((struct vk_drm_syncobj *)signals[i].sync)->syncobj; in radv_amdgpu_winsys_cs_submit()
1414 .syncobj = wait_syncobj, in radv_amdgpu_winsys_cs_submit()
1421 .syncobj in radv_amdgpu_winsys_cs_submit()
1594 uint32_t *syncobj = &ctx->queue_syncobj[ip][ring]; radv_amdgpu_ctx_queue_syncobj() local
1650 struct drm_amdgpu_cs_chunk_sem *syncobj = radv_amdgpu_cs_alloc_syncobj_chunk() local
1676 struct drm_amdgpu_cs_chunk_syncobj *syncobj = radv_amdgpu_cs_alloc_timeline_syncobj_chunk() local
[all...]
/third_party/libdrm/amdgpu/
H A Damdgpu.h1517 * \param syncobj - \c [out] sync object handle
1525 uint32_t *syncobj);
1531 * \param syncobj - \c [out] sync object handle
1538 uint32_t *syncobj);
1543 * \param syncobj - \c [in] sync object handle
1550 uint32_t syncobj);
1644 * syncobj payload.
1661 * syncobj payload.
1678 * \param syncobj - \c [in] sync object handle
1686 uint32_t syncobj,
[all...]
H A Damdgpu_cs.c786 uint32_t syncobj, in amdgpu_cs_syncobj_export_sync_file()
792 return drmSyncobjExportSyncFile(dev->fd, syncobj, sync_file_fd); in amdgpu_cs_syncobj_export_sync_file()
796 uint32_t syncobj, in amdgpu_cs_syncobj_import_sync_file()
802 return drmSyncobjImportSyncFile(dev->fd, syncobj, sync_file_fd); in amdgpu_cs_syncobj_import_sync_file()
806 uint32_t syncobj, in amdgpu_cs_syncobj_export_sync_file2()
818 return drmSyncobjExportSyncFile(dev->fd, syncobj, sync_file_fd); in amdgpu_cs_syncobj_export_sync_file2()
825 syncobj, point, flags); in amdgpu_cs_syncobj_export_sync_file2()
835 uint32_t syncobj, in amdgpu_cs_syncobj_import_sync_file2()
846 return drmSyncobjImportSyncFile(dev->fd, syncobj, sync_file_fd); in amdgpu_cs_syncobj_import_sync_file2()
854 ret = drmSyncobjTransfer(dev->fd, syncobj, poin in amdgpu_cs_syncobj_import_sync_file2()
785 amdgpu_cs_syncobj_export_sync_file(amdgpu_device_handle dev, uint32_t syncobj, int *sync_file_fd) amdgpu_cs_syncobj_export_sync_file() argument
795 amdgpu_cs_syncobj_import_sync_file(amdgpu_device_handle dev, uint32_t syncobj, int sync_file_fd) amdgpu_cs_syncobj_import_sync_file() argument
805 amdgpu_cs_syncobj_export_sync_file2(amdgpu_device_handle dev, uint32_t syncobj, uint64_t point, uint32_t flags, int *sync_file_fd) amdgpu_cs_syncobj_export_sync_file2() argument
834 amdgpu_cs_syncobj_import_sync_file2(amdgpu_device_handle dev, uint32_t syncobj, uint64_t point, int sync_file_fd) amdgpu_cs_syncobj_import_sync_file2() argument
[all...]
/third_party/mesa3d/src/gallium/drivers/panfrost/
H A Dpan_screen.c786 drmSyncobjDestroy(dev->fd, old->syncobj); in panfrost_fence_reference()
799 drmSyncobjExportSyncFile(dev->fd, fence->syncobj, &fd); in panfrost_fence_get_fd()
819 ret = drmSyncobjWait(dev->fd, &fence->syncobj, in panfrost_fence_finish()
839 * syncobj instead of a sync file, but this is all we get. in panfrost_fence_create()
840 * (HandleToFD/FDToHandle just gives you another syncobj ID for the in panfrost_fence_create()
841 * same syncobj). in panfrost_fence_create()
843 ret = drmSyncobjExportSyncFile(dev->fd, ctx->syncobj, &fd); in panfrost_fence_create()
849 ret = drmSyncobjCreate(dev->fd, 0, &f->syncobj); in panfrost_fence_create()
851 fprintf(stderr, "create syncobj failed\n"); in panfrost_fence_create()
855 ret = drmSyncobjImportSyncFile(dev->fd, f->syncobj, f in panfrost_fence_create()
[all...]
/third_party/mesa3d/src/freedreno/vulkan/
H A Dtu_drm.c422 uint32_t syncobj = -1; in tu_syncobj_from_vk_sync() local
424 syncobj = to_tu_timeline_sync(sync)->syncobj; in tu_syncobj_from_vk_sync()
426 syncobj = vk_sync_as_drm_syncobj(sync)->syncobj; in tu_syncobj_from_vk_sync()
429 assert(syncobj != -1); in tu_syncobj_from_vk_sync()
431 return syncobj; in tu_syncobj_from_vk_sync()
445 int err = drmSyncobjCreate(device->fd, flags, &sync->syncobj); in tu_timeline_sync_init()
465 ASSERTED int err = drmSyncobjDestroy(dev->fd, sync->syncobj); in tu_timeline_sync_finish()
476 int err = drmSyncobjReset(dev->fd, &sync->syncobj, in tu_timeline_sync_reset()
1114 tu_device_wait_u_trace(struct tu_device *dev, struct tu_u_trace_syncobj *syncobj) tu_device_wait_u_trace() argument
[all...]
H A Dtu_drm.h31 /* Define tu_timeline_sync type based on drm syncobj for a point type
66 uint32_t syncobj; member
107 tu_device_wait_u_trace(struct tu_device *dev, struct tu_u_trace_syncobj *syncobj);
/third_party/mesa3d/src/broadcom/vulkan/
H A Dv3dv_queue.c84 "syncobj wait failed: %m"); in queue_wait_idle()
94 * per-queue-type syncobj which transitively waited on the semaphores in queue_wait_idle()
107 /* Without multisync, all the semaphores are baked into the one syncobj in queue_wait_idle()
116 "syncobj wait failed: %m"); in queue_wait_idle()
241 uint32_t syncobj = vk_sync_as_drm_syncobj(query->perf.last_job_sync)->syncobj; in handle_end_query_cpu_job() local
243 syncobj, fd); in handle_end_query_cpu_job()
493 uint32_t syncobj = vk_sync_as_drm_syncobj(waits[i].sync)->syncobj; in process_waits() local
497 syncobj, in process_waits()
553 uint32_t syncobj = vk_sync_as_drm_syncobj(signals[i].sync)->syncobj; process_signals() local
[all...]
/third_party/mesa3d/src/intel/common/
H A Dintel_gem.c38 uint32_t syncobj = create.handle; in intel_gem_supports_syncobj_wait()
49 .handle = syncobj, in intel_gem_supports_syncobj_wait()
/third_party/mesa3d/src/gallium/winsys/amdgpu/drm/
H A Damdgpu_cs.h168 /* If ctx == NULL, this fence is syncobj-based. */
169 uint32_t syncobj; member
208 amdgpu_cs_destroy_syncobj(fence->ws->dev, fence->syncobj); in amdgpu_fence_reference()

Completed in 20 milliseconds

12