/third_party/mesa3d/src/gallium/drivers/nouveau/ |
H A D | nouveau_fence.c | 33 nouveau_fence_new(struct nouveau_screen *screen, struct nouveau_fence **fence) in nouveau_fence_new() argument 35 *fence = CALLOC_STRUCT(nouveau_fence); in nouveau_fence_new() 36 if (!*fence) in nouveau_fence_new() 39 (*fence)->screen = screen; in nouveau_fence_new() 40 (*fence)->ref = 1; in nouveau_fence_new() 41 list_inithead(&(*fence)->work); in nouveau_fence_new() 47 nouveau_fence_trigger_work(struct nouveau_fence *fence) in nouveau_fence_trigger_work() argument 51 LIST_FOR_EACH_ENTRY_SAFE(work, tmp, &fence->work, list) { in nouveau_fence_trigger_work() 59 nouveau_fence_emit(struct nouveau_fence *fence) in nouveau_fence_emit() argument 61 struct nouveau_screen *screen = fence in nouveau_fence_emit() 84 nouveau_fence_del(struct nouveau_fence *fence) nouveau_fence_del() argument 130 struct nouveau_fence *fence; nouveau_fence_update() local 170 nouveau_fence_signalled(struct nouveau_fence *fence) nouveau_fence_signalled() argument 184 nouveau_fence_kick(struct nouveau_fence *fence) nouveau_fence_kick() argument 213 nouveau_fence_wait(struct nouveau_fence *fence, struct util_debug_callback *debug) nouveau_fence_wait() argument 275 nouveau_fence_work(struct nouveau_fence *fence, void (*func)(void *), void *data) nouveau_fence_work() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/freedreno/ |
H A D | freedreno_fence.c | 38 fence_flush(struct pipe_context *pctx, struct pipe_fence_handle *fence, 45 if (!util_queue_fence_is_signalled(&fence->ready)) { 46 if (fence->tc_token) { 47 threaded_context_flush(pctx, fence->tc_token, timeout == 0); 54 util_queue_fence_wait(&fence->ready); 57 if (!util_queue_fence_wait_timeout(&fence->ready, abs_timeout)) { 62 util_queue_fence_wait(&fence->submit_fence.ready); 64 /* We've already waited for batch to be flushed and fence->batch 67 assert(!fence->batch); 71 if (fence 82 fd_fence_repopulate(struct pipe_fence_handle *fence, struct pipe_fence_handle *last_fence) fd_fence_repopulate() argument 102 fd_fence_destroy(struct pipe_fence_handle *fence) fd_fence_destroy() argument 133 fd_fence_finish(struct pipe_screen *pscreen, struct pipe_context *pctx, struct pipe_fence_handle *fence, uint64_t timeout) fd_fence_finish() argument 164 struct pipe_fence_handle *fence; fence_create() local 214 fd_fence_server_sync(struct pipe_context *pctx, struct pipe_fence_handle *fence) fd_fence_server_sync() argument 238 fd_fence_server_signal(struct pipe_context *pctx, struct pipe_fence_handle *fence) fd_fence_server_signal() argument 249 fd_fence_get_fd(struct pipe_screen *pscreen, struct pipe_fence_handle *fence) fd_fence_get_fd() argument 265 fd_fence_is_fd(struct pipe_fence_handle *fence) fd_fence_is_fd() argument 277 fd_fence_set_batch(struct pipe_fence_handle *fence, struct fd_batch *batch) fd_fence_set_batch() argument 300 struct pipe_fence_handle *fence = fd_fence_create_unflushed() local [all...] |
/third_party/mesa3d/src/util/ |
H A D | u_queue.h | 62 /* Job completion fence. 66 /* The fence can be in one of three states: 75 util_queue_fence_init(struct util_queue_fence *fence) in util_queue_fence_init() argument 77 fence->val = 0; in util_queue_fence_init() 81 util_queue_fence_destroy(struct util_queue_fence *fence) in util_queue_fence_destroy() argument 83 assert(p_atomic_read_relaxed(&fence->val) == 0); in util_queue_fence_destroy() 88 util_queue_fence_signal(struct util_queue_fence *fence) in util_queue_fence_signal() argument 90 uint32_t val = p_atomic_xchg(&fence->val, 0); in util_queue_fence_signal() 95 futex_wake(&fence->val, INT_MAX); in util_queue_fence_signal() 99 * Move \p fence bac 105 util_queue_fence_reset(struct util_queue_fence *fence) util_queue_fence_reset() argument 116 util_queue_fence_is_signalled(struct util_queue_fence *fence) util_queue_fence_is_signalled() argument 143 util_queue_fence_reset(struct util_queue_fence *fence) util_queue_fence_reset() argument 150 util_queue_fence_is_signalled(struct util_queue_fence *fence) util_queue_fence_is_signalled() argument 160 util_queue_fence_wait(struct util_queue_fence *fence) util_queue_fence_wait() argument 180 util_queue_fence_wait_timeout(struct util_queue_fence *fence, int64_t abs_timeout) util_queue_fence_wait_timeout() argument 200 struct util_queue_fence *fence; global() member [all...] |
H A D | u_queue.c | 112 do_futex_fence_wait(struct util_queue_fence *fence, in do_futex_fence_wait() argument 115 uint32_t v = p_atomic_read_relaxed(&fence->val); in do_futex_fence_wait() 122 v = p_atomic_cmpxchg(&fence->val, 1, 2); in do_futex_fence_wait() 127 int r = futex_wait(&fence->val, 2, timeout ? &ts : NULL); in do_futex_fence_wait() 133 v = p_atomic_read_relaxed(&fence->val); in do_futex_fence_wait() 140 _util_queue_fence_wait(struct util_queue_fence *fence) in _util_queue_fence_wait() argument 142 do_futex_fence_wait(fence, false, 0); in _util_queue_fence_wait() 146 _util_queue_fence_wait_timeout(struct util_queue_fence *fence, in _util_queue_fence_wait_timeout() argument 149 return do_futex_fence_wait(fence, true, abs_timeout); in _util_queue_fence_wait_timeout() 156 util_queue_fence_signal(struct util_queue_fence *fence) in util_queue_fence_signal() argument 165 _util_queue_fence_wait(struct util_queue_fence *fence) _util_queue_fence_wait() argument 174 _util_queue_fence_wait_timeout(struct util_queue_fence *fence, int64_t abs_timeout) _util_queue_fence_wait_timeout() argument 207 util_queue_fence_init(struct util_queue_fence *fence) util_queue_fence_init() argument 216 util_queue_fence_destroy(struct util_queue_fence *fence) util_queue_fence_destroy() argument 545 util_queue_add_job(struct util_queue *queue, void *job, struct util_queue_fence *fence, util_queue_execute_func execute, util_queue_execute_func cleanup, const size_t job_size) util_queue_add_job() argument 639 util_queue_drop_job(struct util_queue *queue, struct util_queue_fence *fence) util_queue_drop_job() argument [all...] |
/third_party/mesa3d/src/gallium/winsys/svga/drm/ |
H A D | vmw_fence.c | 68 * vmw_fence_seq_is_signaled - Check whether a fence seqno is 106 struct vmw_fence *fence, *n; in vmw_fences_release() local 109 LIST_FOR_EACH_ENTRY_SAFE(fence, n, &ops->not_signaled, ops_list) in vmw_fences_release() 110 list_delinit(&fence->ops_list); in vmw_fences_release() 131 struct vmw_fence *fence, *n; in vmw_fences_signal() local 148 LIST_FOR_EACH_ENTRY_SAFE(fence, n, &ops->not_signaled, ops_list) { in vmw_fences_signal() 149 if (!vmw_fence_seq_is_signaled(fence->seqno, signaled, emitted)) in vmw_fences_signal() 152 p_atomic_set(&fence->signalled, 1); in vmw_fences_signal() 153 list_delinit(&fence->ops_list); in vmw_fences_signal() 167 * @fence 170 vmw_fence(struct pipe_fence_handle *fence) vmw_fence() argument 190 struct vmw_fence *fence = CALLOC_STRUCT(vmw_fence); vmw_fence_create() local 253 vmw_fence_reference(struct vmw_winsys_screen *vws, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) vmw_fence_reference() argument 296 vmw_fence_signalled(struct vmw_winsys_screen *vws, struct pipe_fence_handle *fence, unsigned flag) vmw_fence_signalled() argument 345 vmw_fence_finish(struct vmw_winsys_screen *vws, struct pipe_fence_handle *fence, uint64_t timeout, unsigned flag) vmw_fence_finish() argument 395 vmw_fence_get_fd(struct pipe_fence_handle *fence) vmw_fence_get_fd() argument 413 vmw_fence_ops_fence_reference(struct pb_fence_ops *ops, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) vmw_fence_ops_fence_reference() argument 428 vmw_fence_ops_fence_signalled(struct pb_fence_ops *ops, struct pipe_fence_handle *fence, unsigned flag) vmw_fence_ops_fence_signalled() argument 444 vmw_fence_ops_fence_finish(struct pb_fence_ops *ops, struct pipe_fence_handle *fence, unsigned flag) vmw_fence_ops_fence_finish() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/lima/ |
H A D | lima_fence.c | 46 struct pipe_fence_handle **fence, in lima_create_fence_fd() 50 *fence = lima_fence_create(os_dupfd_cloexec(fd)); in lima_create_fence_fd() 55 struct pipe_fence_handle *fence) in lima_fence_server_sync() 59 sync_accumulate("lima", &ctx->in_sync_fd, fence->fd); in lima_fence_server_sync() 71 struct pipe_fence_handle *fence; in lima_fence_create() local 73 fence = CALLOC_STRUCT(pipe_fence_handle); in lima_fence_create() 74 if (!fence) in lima_fence_create() 77 pipe_reference_init(&fence->reference, 1); in lima_fence_create() 78 fence->fd = fd; in lima_fence_create() 80 return fence; in lima_fence_create() 45 lima_create_fence_fd(struct pipe_context *pctx, struct pipe_fence_handle **fence, int fd, enum pipe_fd_type type) lima_create_fence_fd() argument 54 lima_fence_server_sync(struct pipe_context *pctx, struct pipe_fence_handle *fence) lima_fence_server_sync() argument 84 lima_fence_get_fd(struct pipe_screen *pscreen, struct pipe_fence_handle *fence) lima_fence_get_fd() argument 91 lima_fence_destroy(struct pipe_fence_handle *fence) lima_fence_destroy() argument 99 lima_fence_reference(struct pipe_screen *pscreen, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) lima_fence_reference() argument 109 lima_fence_finish(struct pipe_screen *pscreen, struct pipe_context *pctx, struct pipe_fence_handle *fence, uint64_t timeout) lima_fence_finish() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/llvmpipe/ |
H A D | lp_fence.c | 38 * Create a new fence object. 41 * thread hits a fence command, it'll increment the fence counter. When 42 * the counter == the rank, the fence is finished. 44 * \param rank the expected finished value of the fence counter. 50 struct lp_fence *fence = CALLOC_STRUCT(lp_fence); in lp_fence_create() local 52 if (!fence) in lp_fence_create() 55 pipe_reference_init(&fence->reference, 1); in lp_fence_create() 57 (void) mtx_init(&fence->mutex, mtx_plain); in lp_fence_create() 58 cnd_init(&fence in lp_fence_create() 72 lp_fence_destroy(struct lp_fence *fence) lp_fence_destroy() argument 88 lp_fence_signal(struct lp_fence *fence) lp_fence_signal() argument [all...] |
H A D | lp_flush.c | 46 * \param fence if non-null, returns pointer to a fence which can be waited on 50 struct pipe_fence_handle **fence, in llvmpipe_flush() 61 lp_rast_fence(screen->rast, (struct lp_fence **)fence); in llvmpipe_flush() 63 if (fence && (!*fence)) in llvmpipe_flush() 64 *fence = (struct pipe_fence_handle *)lp_fence_create(0); in llvmpipe_flush() 90 struct pipe_fence_handle *fence = NULL; in llvmpipe_finish() local 91 llvmpipe_flush(pipe, &fence, reason); in llvmpipe_finish() 92 if (fence) { in llvmpipe_finish() 49 llvmpipe_flush( struct pipe_context *pipe, struct pipe_fence_handle **fence, const char *reason) llvmpipe_flush() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/etnaviv/ |
H A D | etnaviv_fence.c | 46 etna_fence_destroy(struct pipe_fence_handle *fence) in etna_fence_destroy() argument 48 if (fence->fence_fd != -1) in etna_fence_destroy() 49 close(fence->fence_fd); in etna_fence_destroy() 50 FREE(fence); in etna_fence_destroy() 56 struct pipe_fence_handle *fence) in etna_screen_fence_reference() 58 if (pipe_reference(&(*ptr)->reference, &fence->reference)) in etna_screen_fence_reference() 61 *ptr = fence; in etna_screen_fence_reference() 66 struct pipe_fence_handle *fence, uint64_t timeout) in etna_screen_fence_finish() 68 if (fence->fence_fd != -1) in etna_screen_fence_finish() 69 return !sync_wait(fence in etna_screen_fence_finish() 54 etna_screen_fence_reference(struct pipe_screen *pscreen, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) etna_screen_fence_reference() argument 65 etna_screen_fence_finish(struct pipe_screen *pscreen, struct pipe_context *ctx, struct pipe_fence_handle *fence, uint64_t timeout) etna_screen_fence_finish() argument 106 struct pipe_fence_handle *fence; etna_fence_create() local [all...] |
/third_party/mesa3d/src/vulkan/runtime/ |
H A D | vk_fence.c | 102 struct vk_fence *fence; in vk_fence_create() local 114 /* We should always be able to get a fence type for internal */ in vk_fence_create() 126 fence = vk_object_zalloc(device, pAllocator, size, VK_OBJECT_TYPE_FENCE); in vk_fence_create() 127 if (fence == NULL) in vk_fence_create() 135 VkResult result = vk_sync_init(device, &fence->permanent, in vk_fence_create() 138 vk_object_free(device, pAllocator, fence); in vk_fence_create() 142 *fence_out = fence; in vk_fence_create() 154 struct vk_fence *fence; in vk_common_CreateFence() local 156 VkResult result = vk_fence_create(device, pCreateInfo, pAllocator, &fence); in vk_common_CreateFence() 160 *pFence = vk_fence_to_handle(fence); in vk_common_CreateFence() 166 vk_fence_reset_temporary(struct vk_device *device, struct vk_fence *fence) vk_fence_reset_temporary() argument 177 vk_fence_destroy(struct vk_device *device, struct vk_fence *fence, const VkAllocationCallbacks *pAllocator) vk_fence_destroy() argument [all...] |
/third_party/mesa3d/src/gallium/frontends/lavapipe/ |
H A D | lvp_pipe_sync.c | 31 assert(sync->fence == NULL); in lvp_pipe_sync_validate() 44 sync->fence = NULL; in lvp_pipe_sync_init() 57 if (sync->fence) in lvp_pipe_sync_finish() 58 device->pscreen->fence_reference(device->pscreen, &sync->fence, NULL); in lvp_pipe_sync_finish() 66 struct pipe_fence_handle *fence) in lvp_pipe_sync_signal_with_fence() 70 sync->signaled = fence == NULL; in lvp_pipe_sync_signal_with_fence() 71 device->pscreen->fence_reference(device->pscreen, &sync->fence, fence); in lvp_pipe_sync_signal_with_fence() 87 if (sync->fence) in lvp_pipe_sync_signal() 88 device->pscreen->fence_reference(device->pscreen, &sync->fence, NUL in lvp_pipe_sync_signal() 64 lvp_pipe_sync_signal_with_fence(struct lvp_device *device, struct lvp_pipe_sync *sync, struct pipe_fence_handle *fence) lvp_pipe_sync_signal_with_fence() argument 124 struct pipe_fence_handle *fence = src->fence; lvp_pipe_sync_move() local 195 struct pipe_fence_handle *fence = NULL; lvp_pipe_sync_wait_locked() local [all...] |
/third_party/mesa3d/src/gallium/drivers/iris/ |
H A D | iris_fence.c | 115 struct drm_i915_gem_exec_fence *fence = in iris_batch_add_syncobj() local 118 *fence = (struct drm_i915_gem_exec_fence) { in iris_batch_add_syncobj() 153 struct drm_i915_gem_exec_fence *fence = in clear_stale_syncobjs() local 156 assert(fence->flags & I915_EXEC_FENCE_WAIT); in clear_stale_syncobjs() 175 memcpy(fence, nth_fence, sizeof(*fence)); in clear_stale_syncobjs() 192 struct pipe_fence_handle *fence) in iris_fence_destroy() 196 for (unsigned i = 0; i < ARRAY_SIZE(fence->fine); i++) in iris_fence_destroy() 197 iris_fine_fence_reference(screen, &fence->fine[i], NULL); in iris_fence_destroy() 199 free(fence); in iris_fence_destroy() 191 iris_fence_destroy(struct pipe_screen *p_screen, struct pipe_fence_handle *fence) iris_fence_destroy() argument 280 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); iris_fence_flush() local 314 iris_fence_await(struct pipe_context *ctx, struct pipe_fence_handle *fence) iris_fence_await() argument 384 iris_fence_finish(struct pipe_screen *p_screen, struct pipe_context *ctx, struct pipe_fence_handle *fence, uint64_t timeout) iris_fence_finish() argument 475 iris_fence_get_fd(struct pipe_screen *p_screen, struct pipe_fence_handle *fence) iris_fence_get_fd() argument 574 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); iris_fence_create_fd() local 588 iris_fence_signal(struct pipe_context *ctx, struct pipe_fence_handle *fence) iris_fence_signal() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/crocus/ |
H A D | crocus_fence.c | 96 struct drm_i915_gem_exec_fence *fence = in crocus_batch_add_syncobj() local 99 *fence = (struct drm_i915_gem_exec_fence){ in crocus_batch_add_syncobj() 133 struct drm_i915_gem_exec_fence *fence = in clear_stale_syncobjs() local 136 assert(fence->flags & I915_EXEC_FENCE_WAIT); in clear_stale_syncobjs() 155 memcpy(fence, nth_fence, sizeof(*fence)); in clear_stale_syncobjs() 172 struct pipe_fence_handle *fence) in crocus_fence_destroy() 176 for (unsigned i = 0; i < ARRAY_SIZE(fence->fine); i++) in crocus_fence_destroy() 177 crocus_fine_fence_reference(screen, &fence->fine[i], NULL); in crocus_fence_destroy() 179 free(fence); in crocus_fence_destroy() 171 crocus_fence_destroy(struct pipe_screen *p_screen, struct pipe_fence_handle *fence) crocus_fence_destroy() argument 226 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); crocus_fence_flush() local 261 crocus_fence_await(struct pipe_context *ctx, struct pipe_fence_handle *fence) crocus_fence_await() argument 319 crocus_fence_finish(struct pipe_screen *p_screen, struct pipe_context *ctx, struct pipe_fence_handle *fence, uint64_t timeout) crocus_fence_finish() argument 391 __s32 fence; global() member 423 crocus_fence_get_fd(struct pipe_screen *p_screen, struct pipe_fence_handle *fence) crocus_fence_get_fd() argument 521 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); crocus_fence_create_fd() local 535 crocus_fence_signal(struct pipe_context *ctx, struct pipe_fence_handle *fence) crocus_fence_signal() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/d3d12/ |
H A D | d3d12_fence.cpp | 85 destroy_fence(struct d3d12_fence *fence) in destroy_fence() argument 87 close_event(fence->event, fence->event_fd); in destroy_fence() 88 FREE(fence); in destroy_fence() 100 ret->cmdqueue_fence = screen->fence; in d3d12_create_fence() 103 if (FAILED(screen->fence->SetEventOnCompletion(ret->value, ret->event))) in d3d12_create_fence() 105 if (FAILED(screen->cmdqueue->Signal(screen->fence, ret->value))) in d3d12_create_fence() 145 d3d12_fence_reference(struct d3d12_fence **ptr, struct d3d12_fence *fence) in d3d12_fence_reference() argument 147 if (pipe_reference(&(*ptr)->reference, &fence->reference)) in d3d12_fence_reference() 150 *ptr = fence; in d3d12_fence_reference() 162 d3d12_fence_finish(struct d3d12_fence *fence, uint64_t timeout_ns) d3d12_fence_finish() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/radeonsi/ |
H A D | si_fence.c | 45 /* If the context wasn't flushed at fence creation, this is non-NULL. */ 64 * \param old_value Previous fence value (for a bug workaround) 188 static void si_add_fence_dependency(struct si_context *sctx, struct pipe_fence_handle *fence) in si_add_fence_dependency() argument 192 ws->cs_add_fence_dependency(&sctx->gfx_cs, fence, 0); in si_add_fence_dependency() 195 static void si_add_syncobj_signal(struct si_context *sctx, struct pipe_fence_handle *fence) in si_add_syncobj_signal() argument 197 sctx->ws->cs_add_syncobj_signal(&sctx->gfx_cs, fence); in si_add_syncobj_signal() 218 struct si_fence *fence = CALLOC_STRUCT(si_fence); in si_create_multi_fence() local 219 if (!fence) in si_create_multi_fence() 222 pipe_reference_init(&fence->reference, 1); in si_create_multi_fence() 223 util_queue_fence_init(&fence in si_create_multi_fence() 231 struct si_fence *fence = si_create_multi_fence(); si_create_fence() local 282 si_fence_finish(struct pipe_screen *screen, struct pipe_context *ctx, struct pipe_fence_handle *fence, uint64_t timeout) si_fence_finish() argument 422 si_fence_get_fd(struct pipe_screen *screen, struct pipe_fence_handle *fence) si_fence_get_fd() argument 454 si_flush_all_queues(struct pipe_context *ctx, struct pipe_fence_handle **fence, unsigned flags, bool force_flush) si_flush_all_queues() argument 547 si_flush_from_st(struct pipe_context *ctx, struct pipe_fence_handle **fence, unsigned flags) si_flush_from_st() argument 553 si_fence_server_signal(struct pipe_context *ctx, struct pipe_fence_handle *fence) si_fence_server_signal() argument 581 si_fence_server_sync(struct pipe_context *ctx, struct pipe_fence_handle *fence) si_fence_server_sync() argument [all...] |
/third_party/mesa3d/src/gallium/winsys/i915/drm/ |
H A D | i915_drm_fence.c | 8 * Because gem does not have fence's we have to create our own fences. 11 * been idled. If bo is NULL fence has expired. 23 struct i915_drm_fence *fence = CALLOC_STRUCT(i915_drm_fence); in i915_drm_fence_create() local 25 pipe_reference_init(&fence->reference, 1); in i915_drm_fence_create() 26 /* bo is null if fence already expired */ in i915_drm_fence_create() 29 fence->bo = bo; in i915_drm_fence_create() 32 return (struct pipe_fence_handle *)fence; in i915_drm_fence_create() 38 struct pipe_fence_handle *fence) in i915_drm_fence_reference() 41 struct i915_drm_fence *f = (struct i915_drm_fence *)fence; in i915_drm_fence_reference() 48 *ptr = fence; in i915_drm_fence_reference() 36 i915_drm_fence_reference(struct i915_winsys *iws, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) i915_drm_fence_reference() argument 52 i915_drm_fence_signalled(struct i915_winsys *iws, struct pipe_fence_handle *fence) i915_drm_fence_signalled() argument 65 i915_drm_fence_finish(struct i915_winsys *iws, struct pipe_fence_handle *fence) i915_drm_fence_finish() argument [all...] |
/third_party/mesa3d/src/virtio/vulkan/ |
H A D | vn_queue.c | 57 VkFence fence; member 262 VkFence fence) in vn_queue_submission_prepare_submit() 268 submit->fence = fence; in vn_queue_submission_prepare_submit() 287 VkFence fence) in vn_queue_submission_prepare_bind_sparse() 293 submit->fence = fence; in vn_queue_submission_prepare_bind_sparse() 356 struct vn_fence *fence = vn_fence_from_handle(_fence); in vn_QueueSubmit() local 357 const bool external_fence = fence && fence in vn_QueueSubmit() 258 vn_queue_submission_prepare_submit(struct vn_queue_submission *submit, VkQueue queue, uint32_t batch_count, const VkSubmitInfo *submit_batches, VkFence fence) vn_queue_submission_prepare_submit() argument 282 vn_queue_submission_prepare_bind_sparse( struct vn_queue_submission *submit, VkQueue queue, uint32_t batch_count, const VkBindSparseInfo *bind_sparse_batches, VkFence fence) vn_queue_submission_prepare_bind_sparse() argument 450 vn_QueueBindSparse(VkQueue _queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence) vn_QueueBindSparse() argument 508 vn_fence_init_payloads(struct vn_device *dev, struct vn_fence *fence, bool signaled, const VkAllocationCallbacks *alloc) vn_fence_init_payloads() argument 521 vn_fence_signal_wsi(struct vn_device *dev, struct vn_fence *fence) vn_fence_signal_wsi() argument 531 vn_fence_feedback_init(struct vn_device *dev, struct vn_fence *fence, bool signaled, const VkAllocationCallbacks *alloc) vn_fence_feedback_init() argument 592 vn_fence_feedback_fini(struct vn_device *dev, struct vn_fence *fence, const VkAllocationCallbacks *alloc) vn_fence_feedback_fini() argument 624 struct vn_fence *fence = vk_zalloc(alloc, sizeof(*fence), VN_DEFAULT_ALIGN, vn_CreateFence() local 672 struct vn_fence *fence = vn_fence_from_handle(_fence); vn_DestroyFence() local 703 struct vn_fence *fence = vn_fence_from_handle(pFences[i]); vn_ResetFences() local 722 struct vn_fence *fence = vn_fence_from_handle(_fence); vn_GetFenceStatus() local 885 struct vn_fence *fence = vn_fence_from_handle(pImportFenceFdInfo->fence); vn_ImportFenceFdKHR() local 913 struct vn_fence *fence = vn_fence_from_handle(pGetFdInfo->fence); vn_GetFenceFdKHR() local [all...] |
/third_party/mesa3d/src/gallium/frontends/dri/ |
H A D | dri_helpers.c | 94 struct dri2_fence *fence = CALLOC_STRUCT(dri2_fence); in dri2_create_fence() local 96 if (!fence) in dri2_create_fence() 99 stapi->flush(stapi, 0, &fence->pipe_fence, NULL, NULL); in dri2_create_fence() 101 if (!fence->pipe_fence) { in dri2_create_fence() 102 FREE(fence); in dri2_create_fence() 106 fence->driscreen = dri_screen(_ctx->driScreenPriv); in dri2_create_fence() 107 return fence; in dri2_create_fence() 115 struct dri2_fence *fence = CALLOC_STRUCT(dri2_fence); in dri2_create_fence_fd() local 118 /* exporting driver created fence, flush: */ in dri2_create_fence_fd() 119 stapi->flush(stapi, ST_FLUSH_FENCE_FD, &fence in dri2_create_fence_fd() 138 struct dri2_fence *fence = (struct dri2_fence*)_fence; dri2_get_fence_fd() local 147 struct dri2_fence *fence; dri2_get_fence_from_cl_event() local 172 struct dri2_fence *fence = (struct dri2_fence*)_fence; dri2_destroy_fence() local 188 struct dri2_fence *fence = (struct dri2_fence*)_fence; dri2_client_wait_sync() local 215 struct dri2_fence *fence = (struct dri2_fence*)_fence; dri2_server_wait_sync() local [all...] |
/third_party/mesa3d/src/gallium/winsys/amdgpu/drm/ |
H A D | amdgpu_cs.c | 41 struct amdgpu_fence *fence = CALLOC_STRUCT(amdgpu_fence); in amdgpu_fence_create() local 43 fence->reference.count = 1; in amdgpu_fence_create() 44 fence->ws = ctx->ws; in amdgpu_fence_create() 45 fence->ctx = ctx; in amdgpu_fence_create() 46 fence->fence.context = ctx->ctx; in amdgpu_fence_create() 47 fence->fence.ip_type = ip_type; in amdgpu_fence_create() 48 util_queue_fence_init(&fence->submitted); in amdgpu_fence_create() 49 util_queue_fence_reset(&fence in amdgpu_fence_create() 58 struct amdgpu_fence *fence = CALLOC_STRUCT(amdgpu_fence); amdgpu_fence_import_syncobj() local 83 struct amdgpu_fence *fence = CALLOC_STRUCT(amdgpu_fence); amdgpu_fence_import_sync_file() local 115 struct amdgpu_fence *fence = (struct amdgpu_fence*)pfence; amdgpu_fence_export_sync_file() local 158 amdgpu_fence_submitted(struct pipe_fence_handle *fence, uint64_t seq_no, uint64_t *user_fence_cpu_address) amdgpu_fence_submitted() argument 169 amdgpu_fence_signalled(struct pipe_fence_handle *fence) amdgpu_fence_signalled() argument 177 amdgpu_fence_wait(struct pipe_fence_handle *fence, uint64_t timeout, bool absolute) amdgpu_fence_wait() argument 244 amdgpu_fence_wait_rel_timeout(struct radeon_winsys *rws, struct pipe_fence_handle *fence, uint64_t timeout) amdgpu_fence_wait_rel_timeout() argument 255 struct pipe_fence_handle *fence = NULL; amdgpu_cs_get_next_fence() local 956 amdgpu_cs_create(struct radeon_cmdbuf *rcs, struct radeon_winsys_ctx *rwctx, enum amd_ip_type ip_type, void (*flush)(void *ctx, unsigned flags, struct pipe_fence_handle **fence), void *flush_ctx, bool stop_exec_on_failure) amdgpu_cs_create() argument 1196 add_fence_to_list(struct amdgpu_fence_list *fences, struct amdgpu_fence *fence) add_fence_to_list() argument 1215 is_noop_fence_dependency(struct amdgpu_cs *acs, struct amdgpu_fence *fence) is_noop_fence_dependency() argument 1242 struct amdgpu_fence *fence = (struct amdgpu_fence*)pfence; amdgpu_cs_add_fence_dependency() local 1337 amdgpu_add_fence_dependencies_bo_list(struct amdgpu_cs *acs, struct amdgpu_cs_context *cs, struct pipe_fence_handle *fence, unsigned num_buffers, struct amdgpu_cs_buffer *buffers) amdgpu_add_fence_dependencies_bo_list() argument 1363 amdgpu_cs_add_syncobj_signal(struct radeon_cmdbuf *rws, struct pipe_fence_handle *fence) amdgpu_cs_add_syncobj_signal() argument 1513 struct amdgpu_fence *fence = amdgpu_cs_submit_ib() local 1533 struct amdgpu_fence *fence = amdgpu_cs_submit_ib() local 1556 struct amdgpu_fence *fence = amdgpu_cs_submit_ib() local 1690 amdgpu_cs_flush(struct radeon_cmdbuf *rcs, unsigned flags, struct pipe_fence_handle **fence) amdgpu_cs_flush() argument [all...] |
H A D | amdgpu_cs.h | 118 struct pipe_fence_handle *fence; member 155 void (*flush_cs)(void *ctx, unsigned flags, struct pipe_fence_handle **fence); 168 /* If ctx == NULL, this fence is syncobj-based. */ 173 struct amdgpu_cs_fence fence; member 176 /* If the fence has been submitted. This is unsignalled for deferred fences 184 static inline bool amdgpu_fence_is_syncobj(struct amdgpu_fence *fence) in amdgpu_fence_is_syncobj() argument 186 return fence->ctx == NULL; in amdgpu_fence_is_syncobj() 205 struct amdgpu_fence *fence = *adst; in amdgpu_fence_reference() local 207 if (amdgpu_fence_is_syncobj(fence)) in amdgpu_fence_reference() 208 amdgpu_cs_destroy_syncobj(fence in amdgpu_fence_reference() [all...] |
/third_party/vk-gl-cts/external/vulkancts/modules/vulkan/synchronization/ |
H A D | vktSynchronizationBasicFenceTests.cpp | 21 * \brief Synchronization fence basic tests 72 const Unique<VkFence> fence (createFence(vk, device, &fenceInfo)); in basicOneFenceCase() 87 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 88 return tcu::TestStatus::fail("Created fence should be in unsignaled state"); in basicOneFenceCase() 90 if (VK_TIMEOUT != vk.waitForFences(device, 1u, &fence.get(), VK_TRUE, SHORT_FENCE_WAIT)) in basicOneFenceCase() 93 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 94 return tcu::TestStatus::fail("Created fence should be in unsignaled state"); in basicOneFenceCase() 99 VK_CHECK(vk.queueSubmit(queue, 1u, &submitInfo, *fence)); in basicOneFenceCase() 101 if (VK_SUCCESS != vk.waitForFences(device, 1u, &fence.get(), DE_TRUE, LONG_FENCE_WAIT)) in basicOneFenceCase() 104 if (VK_SUCCESS != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 194 const VkFence fence[2] = basicMultiFenceCase() local 298 const VkFence fence[2] = basicMultiFenceWaitAllFalseCase() local [all...] |
/third_party/vk-gl-cts/external/vulkancts/modules_no_buildgn/vulkan/synchronization/ |
H A D | vktSynchronizationBasicFenceTests.cpp | 21 * \brief Synchronization fence basic tests 72 const Unique<VkFence> fence (createFence(vk, device, &fenceInfo)); in basicOneFenceCase() 87 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 88 return tcu::TestStatus::fail("Created fence should be in unsignaled state"); in basicOneFenceCase() 90 if (VK_TIMEOUT != vk.waitForFences(device, 1u, &fence.get(), VK_TRUE, SHORT_FENCE_WAIT)) in basicOneFenceCase() 93 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 94 return tcu::TestStatus::fail("Created fence should be in unsignaled state"); in basicOneFenceCase() 99 VK_CHECK(vk.queueSubmit(queue, 1u, &submitInfo, *fence)); in basicOneFenceCase() 101 if (VK_SUCCESS != vk.waitForFences(device, 1u, &fence.get(), DE_TRUE, LONG_FENCE_WAIT)) in basicOneFenceCase() 104 if (VK_SUCCESS != vk.getFenceStatus(device, *fence)) in basicOneFenceCase() 194 const VkFence fence[2] = basicMultiFenceCase() local 298 const VkFence fence[2] = basicMultiFenceWaitAllFalseCase() local [all...] |
/third_party/mesa3d/src/freedreno/drm/ |
H A D | freedreno_pipe.c | 71 /* We could be getting a bo from the bo-cache, make sure the fence value in fd_pipe_new2() 74 pipe->control->fence = 0; in fd_pipe_new2() 180 fd_pipe_wait(struct fd_pipe *pipe, const struct fd_fence *fence) in fd_pipe_wait() argument 182 return fd_pipe_wait_timeout(pipe, fence, ~0); in fd_pipe_wait() 186 fd_pipe_wait_timeout(struct fd_pipe *pipe, const struct fd_fence *fence, in fd_pipe_wait_timeout() argument 189 if (!fd_fence_after(fence->ufence, pipe->control->fence)) in fd_pipe_wait_timeout() 192 fd_pipe_flush(pipe, fence->ufence); in fd_pipe_wait_timeout() 194 return pipe->funcs->wait(pipe, fence, timeout); in fd_pipe_wait_timeout() 200 uint32_t fence in fd_pipe_emit_fence() local [all...] |
/third_party/mesa3d/src/gallium/drivers/r300/ |
H A D | r300_flush.c | 37 struct pipe_fence_handle **fence) in r300_flush_and_cleanup() 55 r300->rws->cs_flush(&r300->cs, flags, fence); in r300_flush_and_cleanup() 76 struct pipe_fence_handle **fence) in r300_flush() 81 r300_flush_and_cleanup(r300, flags, fence); in r300_flush() 83 if (fence) { in r300_flush() 84 /* We have to create a fence object, but the command stream is empty in r300_flush() 88 r300->rws->cs_flush(&r300->cs, flags, fence); in r300_flush() 114 if (fence && *fence) in r300_flush() 115 r300->rws->fence_reference(fence, NUL in r300_flush() 36 r300_flush_and_cleanup(struct r300_context *r300, unsigned flags, struct pipe_fence_handle **fence) r300_flush_and_cleanup() argument 74 r300_flush(struct pipe_context *pipe, unsigned flags, struct pipe_fence_handle **fence) r300_flush() argument 127 r300_flush_wrapped(struct pipe_context *pipe, struct pipe_fence_handle **fence, unsigned flags) r300_flush_wrapped() argument [all...] |
/third_party/skia/third_party/externals/angle2/src/tests/gl_tests/ |
H A D | FenceSyncTests.cpp | 50 GLuint fence = 0; in TEST_P() local 51 glGenFencesNV(1, &fence); in TEST_P() 54 EXPECT_GL_FALSE(glIsFenceNV(fence)); in TEST_P() 57 glSetFenceNV(fence, GL_ALL_COMPLETED_NV); in TEST_P() 60 EXPECT_GL_TRUE(glIsFenceNV(fence)); in TEST_P() 70 "fence and generate an INVALID_OPERATION"; in TEST_P() 73 GLuint fence = 20; in TEST_P() local 77 glGenFencesNV(-1, &fence); in TEST_P() 79 EXPECT_EQ(20u, fence); in TEST_P() 81 // Generate a real fence in TEST_P() [all...] |