Home
last modified time | relevance | path

Searched refs:fence (Results 1 – 25 of 810) sorted by relevance

12345678910>>...33

/external/mesa3d/src/gallium/drivers/nouveau/
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->screen; in nouveau_fence_emit()
[all …]
/external/mesa3d/src/mesa/drivers/dri/i965/
Dbrw_sync.c72 struct brw_fence fence; member
76 brw_fence_init(struct brw_context *brw, struct brw_fence *fence, in brw_fence_init() argument
79 fence->brw = brw; in brw_fence_init()
80 fence->type = type; in brw_fence_init()
81 mtx_init(&fence->mutex, mtx_plain); in brw_fence_init()
85 fence->batch_bo = NULL; in brw_fence_init()
88 fence->sync_fd = -1; in brw_fence_init()
94 brw_fence_finish(struct brw_fence *fence) in brw_fence_finish() argument
96 switch (fence->type) { in brw_fence_finish()
98 if (fence->batch_bo) in brw_fence_finish()
[all …]
/external/mesa3d/src/mesa/drivers/dri/i915/
Dintel_syncobj.c56 struct intel_fence fence; member
60 intel_fence_finish(struct intel_fence *fence) in intel_fence_finish() argument
62 if (fence->batch_bo) in intel_fence_finish()
63 drm_intel_bo_unreference(fence->batch_bo); in intel_fence_finish()
67 intel_fence_insert(struct intel_context *intel, struct intel_fence *fence) in intel_fence_insert() argument
69 assert(!fence->batch_bo); in intel_fence_insert()
70 assert(!fence->signalled); in intel_fence_insert()
73 fence->batch_bo = intel->batch.bo; in intel_fence_insert()
74 drm_intel_bo_reference(fence->batch_bo); in intel_fence_insert()
79 intel_fence_has_completed_locked(struct intel_fence *fence) in intel_fence_has_completed_locked() argument
[all …]
/external/mesa3d/src/gallium/drivers/freedreno/
Dfreedreno_fence.c50 static void fence_flush(struct pipe_fence_handle *fence) in fence_flush() argument
52 if (fence->batch) in fence_flush()
53 fd_batch_flush(fence->batch); in fence_flush()
54 debug_assert(!fence->batch); in fence_flush()
57 void fd_fence_populate(struct pipe_fence_handle *fence, in fd_fence_populate() argument
60 if (!fence->batch) in fd_fence_populate()
62 fence->timestamp = timestamp; in fd_fence_populate()
63 fence->fence_fd = fence_fd; in fd_fence_populate()
64 fence->batch = NULL; in fd_fence_populate()
67 static void fd_fence_destroy(struct pipe_fence_handle *fence) in fd_fence_destroy() argument
[all …]
/external/mesa3d/src/util/
Du_queue.h73 util_queue_fence_init(struct util_queue_fence *fence) in util_queue_fence_init() argument
75 fence->val = 0; in util_queue_fence_init()
79 util_queue_fence_destroy(struct util_queue_fence *fence) in util_queue_fence_destroy() argument
81 assert(fence->val == 0); in util_queue_fence_destroy()
86 util_queue_fence_signal(struct util_queue_fence *fence) in util_queue_fence_signal() argument
88 uint32_t val = p_atomic_xchg(&fence->val, 0); in util_queue_fence_signal()
93 futex_wake(&fence->val, INT_MAX); in util_queue_fence_signal()
103 util_queue_fence_reset(struct util_queue_fence *fence) in util_queue_fence_reset() argument
106 fence->val = 1; in util_queue_fence_reset()
108 uint32_t v = p_atomic_xchg(&fence->val, 1); in util_queue_fence_reset()
[all …]
Du_queue.c112 do_futex_fence_wait(struct util_queue_fence *fence, in do_futex_fence_wait() argument
115 uint32_t v = 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 = 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
[all …]
/external/mesa3d/src/gallium/winsys/svga/drm/
Dvmw_fence.c106 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()
170 vmw_fence(struct pipe_fence_handle *fence) in vmw_fence() argument
172 return (struct vmw_fence *) fence; in vmw_fence()
[all …]
/external/mesa3d/src/gallium/drivers/llvmpipe/
Dlp_fence.c48 struct lp_fence *fence = CALLOC_STRUCT(lp_fence); in lp_fence_create() local
50 if (!fence) in lp_fence_create()
53 pipe_reference_init(&fence->reference, 1); in lp_fence_create()
55 (void) mtx_init(&fence->mutex, mtx_plain); in lp_fence_create()
56 cnd_init(&fence->signalled); in lp_fence_create()
58 fence->id = fence_id++; in lp_fence_create()
59 fence->rank = rank; in lp_fence_create()
62 debug_printf("%s %d\n", __FUNCTION__, fence->id); in lp_fence_create()
64 return fence; in lp_fence_create()
70 lp_fence_destroy(struct lp_fence *fence) in lp_fence_destroy() argument
[all …]
/external/mesa3d/src/gallium/drivers/lima/
Dlima_fence.c46 struct pipe_fence_handle **fence, in lima_create_fence_fd() argument
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() argument
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()
[all …]
/external/virglrenderer/src/drm/
Ddrm_fence.c30 drm_fence_destroy(struct drm_fence *fence) in drm_fence_destroy() argument
32 close(fence->fd); in drm_fence_destroy()
33 list_del(&fence->node); in drm_fence_destroy()
34 free(fence); in drm_fence_destroy()
40 struct drm_fence *fence = calloc(1, sizeof(*fence)); in drm_fence_create() local
42 if (!fence) in drm_fence_create()
45 fence->fd = os_dupfd_cloexec(fd); in drm_fence_create()
47 if (fence->fd < 0) { in drm_fence_create()
48 free(fence); in drm_fence_create()
52 fence->flags = flags; in drm_fence_create()
[all …]
/external/mesa3d/src/gallium/drivers/swr/
Dswr_fence.cpp47 struct swr_fence *fence = (struct swr_fence *)userData; in swr_fence_cb() local
50 swr_fence_do_work(fence); in swr_fence_cb()
54 if (fence->read < userData2) in swr_fence_cb()
55 fence->read = userData2; in swr_fence_cb()
64 struct swr_fence *fence = swr_fence(fh); in swr_fence_submit() local
66 fence->write++; in swr_fence_submit()
67 fence->pending = TRUE; in swr_fence_submit()
68 ctx->api.pfnSwrSync(ctx->swrContext, swr_fence_cb, (uint64_t)fence, fence->write, 0); in swr_fence_submit()
78 struct swr_fence *fence = CALLOC_STRUCT(swr_fence); in swr_fence_create() local
79 if (!fence) in swr_fence_create()
[all …]
Dswr_fence_work.cpp34 swr_fence_do_work(struct swr_fence *fence) in swr_fence_do_work() argument
38 if (fence->work.head.next) { in swr_fence_do_work()
39 work = fence->work.head.next; in swr_fence_do_work()
42 p_atomic_set(&fence->work.head.next, 0); in swr_fence_do_work()
43 p_atomic_set(&fence->work.tail, &fence->work.head); in swr_fence_do_work()
44 p_atomic_set(&fence->work.count, 0); in swr_fence_do_work()
70 struct swr_fence *fence = swr_fence(fh); in swr_add_fence_work() local
71 p_atomic_set(&fence->work.tail->next, work); in swr_add_fence_work()
72 p_atomic_set(&fence->work.tail, work); in swr_add_fence_work()
73 p_atomic_inc(&fence->work.count); in swr_add_fence_work()
[all …]
/external/mesa3d/src/gallium/drivers/etnaviv/
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() argument
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() argument
68 if (fence->fence_fd != -1) in etna_screen_fence_finish()
69 return !sync_wait(fence->fence_fd, timeout / 1000000); in etna_screen_fence_finish()
[all …]
/external/mesa3d/src/gallium/drivers/zink/
Dzink_fence.c35 destroy_fence(struct zink_screen *screen, struct zink_fence *fence) in destroy_fence() argument
37 if (fence->fence) in destroy_fence()
38 vkDestroyFence(screen->dev, fence->fence, NULL); in destroy_fence()
39 util_dynarray_fini(&fence->resources); in destroy_fence()
40 FREE(fence); in destroy_fence()
57 if (vkCreateFence(screen->dev, &fci, NULL, &ret->fence) != VK_SUCCESS) { in zink_create_fence()
86 struct zink_fence *fence) in zink_fence_reference() argument
88 if (pipe_reference(&(*ptr)->reference, &fence->reference)) in zink_fence_reference()
91 *ptr = fence; in zink_fence_reference()
104 fence_remove_resource_access(struct zink_fence *fence, struct zink_resource *res) in fence_remove_resource_access() argument
[all …]
/external/mesa3d/src/gallium/drivers/iris/
Diris_fence.c98 struct drm_i915_gem_exec_fence *fence = in iris_batch_add_syncobj() local
101 *fence = (struct drm_i915_gem_exec_fence) { in iris_batch_add_syncobj()
135 struct drm_i915_gem_exec_fence *fence = in clear_stale_syncobjs() local
138 assert(fence->flags & I915_EXEC_FENCE_WAIT); in clear_stale_syncobjs()
157 memcpy(fence, nth_fence, sizeof(*fence)); in clear_stale_syncobjs()
174 struct pipe_fence_handle *fence) in iris_fence_destroy() argument
178 for (unsigned i = 0; i < ARRAY_SIZE(fence->fine); i++) in iris_fence_destroy()
179 iris_fine_fence_reference(screen, &fence->fine[i], NULL); in iris_fence_destroy()
181 free(fence); in iris_fence_destroy()
254 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); in iris_fence_flush() local
[all …]
/external/igt-gpu-tools/tests/
Dsw_sync.c79 int fence; in test_timeline_closed() local
83 fence = sw_sync_timeline_create_fence(timeline, 1); in test_timeline_closed()
86 igt_assert_f(sync_fence_wait(fence, 0) == 0, in test_timeline_closed()
88 igt_assert_f(sync_fence_status(fence) == -ENOENT, in test_timeline_closed()
94 int fence; in test_timeline_closed_signaled() local
98 fence = sw_sync_timeline_create_fence(timeline, 1); in test_timeline_closed_signaled()
102 igt_assert_f(sync_fence_wait(fence, 0) == 0, in test_timeline_closed_signaled()
128 int fence; in test_sync_busy() local
133 fence = sw_sync_timeline_create_fence(timeline, 5); in test_sync_busy()
136 igt_assert_f(sync_fence_wait(fence, 0) == -ETIME, in test_sync_busy()
[all …]
/external/linux-kselftest/tools/testing/selftests/sync/
Dsync_stress_consumer.c40 static int busy_wait_on_fence(int fence) in busy_wait_on_fence() argument
45 error = sync_fence_count_with_status(fence, FENCE_STATUS_ERROR); in busy_wait_on_fence()
47 active = sync_fence_count_with_status(fence, in busy_wait_on_fence()
66 int fence, valid, i; in mpsc_producer_thread() local
72 fence = sw_sync_fence_create(consumer_timeline, "fence", i); in mpsc_producer_thread()
73 valid = sw_sync_fence_is_valid(fence); in mpsc_producer_thread()
82 ASSERT(sync_wait(fence, -1) > 0, in mpsc_producer_thread()
85 ASSERT(busy_wait_on_fence(fence) == 0, in mpsc_producer_thread()
100 sw_sync_fence_destroy(fence); in mpsc_producer_thread()
108 int fence, merged, tmp, valid, it, i; in mpcs_consumer_thread() local
[all …]
/external/perfetto/src/trace_processor/metrics/sql/android/jank/
Drelevant_slices.sql105 GPU_COMPLETION_FENCE_ID_FROM_NAME(fence.name) AS fence_idx
107 JOIN descendant_slice(draw_frame.id) fence
108 ON fence.name GLOB '*GPU completion fence*';
117 GPU_COMPLETION_FENCE_ID_FROM_NAME(fence.name) AS fence_idx
119 JOIN descendant_slice(draw_frame.id) fence
120 ON fence.name GLOB '*HWC release fence *';
126 fence.cuj_id,
130 fence.fence_idx,
134 JOIN android_jank_cuj_hwc_release_fence fence
135 ON fence.cuj_id = hwc_release_thread.cuj_id
[all …]
/external/mesa3d/src/gallium/frontends/dri/
Ddri_helpers.c95 struct dri2_fence *fence = CALLOC_STRUCT(dri2_fence); in dri2_create_fence() local
97 if (!fence) in dri2_create_fence()
100 stapi->flush(stapi, 0, &fence->pipe_fence, NULL, NULL); in dri2_create_fence()
102 if (!fence->pipe_fence) { in dri2_create_fence()
103 FREE(fence); in dri2_create_fence()
107 fence->driscreen = dri_screen(_ctx->driScreenPriv); in dri2_create_fence()
108 return fence; in dri2_create_fence()
116 struct dri2_fence *fence = CALLOC_STRUCT(dri2_fence); in dri2_create_fence_fd() local
120 stapi->flush(stapi, ST_FLUSH_FENCE_FD, &fence->pipe_fence, NULL, NULL); in dri2_create_fence_fd()
123 ctx->create_fence_fd(ctx, &fence->pipe_fence, fd, PIPE_FD_TYPE_NATIVE_SYNC); in dri2_create_fence_fd()
[all …]
/external/mesa3d/src/mesa/state_tracker/
Dst_cb_syncobj.c44 struct pipe_fence_handle *fence; member
63 screen->fence_reference(screen, &so->fence, NULL); in st_delete_sync_object()
76 assert(so->fence == NULL); in st_fence_sync()
79 pipe->flush(pipe, &so->fence, ctx->Shared->RefCount == 1 ? PIPE_FLUSH_DEFERRED : 0); in st_fence_sync()
89 struct pipe_fence_handle *fence = NULL; in st_client_wait_sync() local
93 if (!so->fence) { in st_client_wait_sync()
102 screen->fence_reference(screen, &fence, so->fence); in st_client_wait_sync()
117 if (screen->fence_finish(screen, pipe, fence, timeout)) { in st_client_wait_sync()
119 screen->fence_reference(screen, &so->fence, NULL); in st_client_wait_sync()
123 screen->fence_reference(screen, &fence, NULL); in st_client_wait_sync()
[all …]
/external/rust/crates/vulkano/src/sync/
Dfence.rs38 fence: ash::vk::Fence, field
75 fence: raw_fence, in from_pool()
101 let fence = unsafe { in alloc_impl() localVariable
123 fence: fence, in alloc_impl()
141 .get_fence_status(self.device.internal_object(), self.fence), in ready()
178 &self.fence, in wait()
208 .filter_map(|fence| { in multi_wait()
210 dev @ &mut None => *dev = Some(&*fence.device), in multi_wait()
212 if &**dev as *const Device == &*fence.device as *const Device => {} in multi_wait()
219 if fence.signaled.load(Ordering::Relaxed) { in multi_wait()
[all …]
/external/igt-gpu-tools/tests/i915/
Dgem_exec_fence.c52 int32_t fence; member
60 static void store(int fd, unsigned ring, int fence, uint32_t target, unsigned offset_value) in store() argument
75 execbuf.rsvd2 = fence; in store()
113 static bool fence_busy(int fence) in fence_busy() argument
115 return poll(&(struct pollfd){fence, POLLIN}, 1, 0) == 0; in fence_busy()
130 int fence, i, timeout; in test_fence_busy() local
178 fence = execbuf.rsvd2 >> 32; in test_fence_busy()
179 igt_assert(fence != -1); in test_fence_busy()
182 igt_assert(fence_busy(fence)); in test_fence_busy()
193 struct pollfd pfd = { .fd = fence, .events = POLLIN }; in test_fence_busy()
[all …]
/external/mesa3d/src/gallium/auxiliary/util/
Du_helpers.c216 struct pipe_fence_handle *fence = NULL; in util_wait_for_idle() local
218 ctx->flush(ctx, &fence, 0); in util_wait_for_idle()
219 ctx->screen->fence_finish(ctx->screen, NULL, fence, PIPE_TIMEOUT_INFINITE); in util_wait_for_idle()
232 screen->fence_reference(screen, &t->ring[i].fence, NULL); in util_throttle_deinit()
250 i, t->ring[i].fence ? "yes" : " no", in util_dump_throttle_ring()
279 struct pipe_fence_handle **fence = NULL; in util_throttle_memory_usage() local
288 assert(t->ring[t->wait_index].fence); in util_throttle_memory_usage()
291 if (fence) in util_throttle_memory_usage()
292 screen->fence_reference(screen, fence, NULL); in util_throttle_memory_usage()
294 fence = &t->ring[t->wait_index].fence; in util_throttle_memory_usage()
[all …]
/external/mesa3d/src/gallium/winsys/amdgpu/drm/
Damdgpu_cs.c44 struct amdgpu_fence *fence = CALLOC_STRUCT(amdgpu_fence); in amdgpu_fence_create() local
46 fence->reference.count = 1; in amdgpu_fence_create()
47 fence->ws = ctx->ws; in amdgpu_fence_create()
48 fence->ctx = ctx; in amdgpu_fence_create()
49 fence->fence.context = ctx->ctx; in amdgpu_fence_create()
50 fence->fence.ip_type = ip_type; in amdgpu_fence_create()
51 fence->fence.ip_instance = ip_instance; in amdgpu_fence_create()
52 fence->fence.ring = ring; in amdgpu_fence_create()
53 util_queue_fence_init(&fence->submitted); in amdgpu_fence_create()
54 util_queue_fence_reset(&fence->submitted); in amdgpu_fence_create()
[all …]
/external/deqp/android/cts/main/vksc-master/
Dsynchronization.txt2885 dEQP-VKSC.synchronization.basic.fence.one
2886 dEQP-VKSC.synchronization.basic.fence.multi
2887 dEQP-VKSC.synchronization.basic.fence.empty_submit
2888 dEQP-VKSC.synchronization.basic.fence.multi_waitall_false
2889 dEQP-VKSC.synchronization.basic.fence.one_signaled
2890 dEQP-VKSC.synchronization.basic.fence.multiple_signaled
2900 dEQP-VKSC.synchronization.op.single_queue.fence.write_fill_buffer_read_copy_buffer.buffer_16384
2901 dEQP-VKSC.synchronization.op.single_queue.fence.write_fill_buffer_read_copy_buffer.buffer_262144
2902 dEQP-VKSC.synchronization.op.single_queue.fence.write_fill_buffer_read_copy_buffer_to_image.buffer_…
2903 dEQP-VKSC.synchronization.op.single_queue.fence.write_fill_buffer_read_copy_buffer_to_image.buffer_…
[all …]

12345678910>>...33