/third_party/mesa3d/src/gallium/drivers/iris/ |
H A D | iris_fence.c | 69 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 D | iris_fence.h | 46 struct iris_syncobj *syncobj, 49 struct iris_syncobj *syncobj,
|
H A D | iris_batch.h | 134 /** 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 D | iris_fine_fence.c | 39 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 D | iris_query.c | 68 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 D | crocus_fence.c | 66 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 D | crocus_fence.h | 44 struct crocus_syncobj *syncobj, 47 struct crocus_syncobj *syncobj,
|
H A D | crocus_batch.h | 146 /** 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 D | crocus_fine_fence.c | 43 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 D | crocus_query.c | 90 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 D | vn_renderer_virtgpu.c | 167 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 D | vk_drm_syncobj.c | 56 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 D | vk_drm_syncobj.h | 36 uint32_t syncobj; member
|
/third_party/mesa3d/src/gallium/drivers/freedreno/ |
H A D | freedreno_fence.c | 109 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 D | panvk_vX_device.c | 125 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 D | v3d_fence.c | 81 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 D | radv_amdgpu_cs.c | 90 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 D | amdgpu.h | 1517 * \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 D | amdgpu_cs.c | 786 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 D | pan_screen.c | 786 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 D | tu_drm.c | 422 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 D | tu_drm.h | 31 /* 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 D | v3dv_queue.c | 84 "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 D | intel_gem.c | 38 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 D | amdgpu_cs.h | 168 /* 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()
|