Home
last modified time | relevance | path

Searched refs:fence (Results 1 - 25 of 549) sorted by relevance

12345678910>>...22

/third_party/mesa3d/src/gallium/drivers/nouveau/
H A Dnouveau_fence.c33 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 Dfreedreno_fence.c38 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 Du_queue.h62 /* 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 Du_queue.c112 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 Dvmw_fence.c68 * 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 Dlima_fence.c46 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 Dlp_fence.c38 * 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 Dlp_flush.c46 * \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 Detnaviv_fence.c46 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 Dvk_fence.c102 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 Dlvp_pipe_sync.c31 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 Diris_fence.c115 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 Dcrocus_fence.c96 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 Dd3d12_fence.cpp85 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 Dsi_fence.c45 /* 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 Di915_drm_fence.c8 * 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 Dvn_queue.c57 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 Ddri_helpers.c94 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 Damdgpu_cs.c41 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 Damdgpu_cs.h118 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 DvktSynchronizationBasicFenceTests.cpp21 * \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 DvktSynchronizationBasicFenceTests.cpp21 * \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 Dfreedreno_pipe.c71 /* 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 Dr300_flush.c37 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 DFenceSyncTests.cpp50 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...]

Completed in 21 milliseconds

12345678910>>...22