Home
last modified time | relevance | path

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

12345678910>>...30

/third_party/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 …]
/third_party/mesa3d/src/gallium/drivers/freedreno/
Dfreedreno_fence.c38 fence_flush(struct pipe_context *pctx, struct pipe_fence_handle *fence, in fence_flush() argument
45 if (!util_queue_fence_is_signalled(&fence->ready)) { in fence_flush()
46 if (fence->tc_token) { in fence_flush()
47 threaded_context_flush(pctx, fence->tc_token, timeout == 0); in fence_flush()
54 util_queue_fence_wait(&fence->ready); in fence_flush()
57 if (!util_queue_fence_wait_timeout(&fence->ready, abs_timeout)) { in fence_flush()
62 util_queue_fence_wait(&fence->submit_fence.ready); in fence_flush()
67 assert(!fence->batch); in fence_flush()
71 if (fence->batch) in fence_flush()
72 fd_batch_flush(fence->batch); in fence_flush()
[all …]
/third_party/mesa3d/src/mesa/drivers/dri/i965/
Dbrw_sync.c75 struct brw_fence fence; member
135 struct drm_i915_gem_exec_fence *fence = in intel_semaphoreobj_signal() local
137 fence->flags = I915_EXEC_FENCE_SIGNAL; in intel_semaphoreobj_signal()
138 fence->handle = iSemObj->syncobj->handle; in intel_semaphoreobj_signal()
163 brw_fence_init(struct brw_context *brw, struct brw_fence *fence, in brw_fence_init() argument
166 fence->brw = brw; in brw_fence_init()
167 fence->type = type; in brw_fence_init()
168 mtx_init(&fence->mutex, mtx_plain); in brw_fence_init()
172 fence->batch_bo = NULL; in brw_fence_init()
175 fence->sync_fd = -1; in brw_fence_init()
[all …]
/third_party/gstreamer/gstplugins_bad/gst-libs/gst/vulkan/
Dgstvkfence.c55 gst_vulkan_fence_dispose (GstVulkanFence * fence) in gst_vulkan_fence_dispose() argument
60 if ((cache = fence->cache) == NULL) in gst_vulkan_fence_dispose()
64 gst_vulkan_fence_ref (fence); in gst_vulkan_fence_dispose()
66 gst_vulkan_fence_cache_release (cache, fence); in gst_vulkan_fence_dispose()
72 gst_vulkan_fence_free (GstVulkanFence * fence) in gst_vulkan_fence_free() argument
74 if (!fence) in gst_vulkan_fence_free()
77 GST_TRACE ("Freeing fence %p", fence); in gst_vulkan_fence_free()
79 if (fence->fence) in gst_vulkan_fence_free()
80 vkDestroyFence (fence->device->device, fence->fence, NULL); in gst_vulkan_fence_free()
82 gst_clear_object (&fence->device); in gst_vulkan_fence_free()
[all …]
Dgstvktrash.c76 if (trash->fence) { in gst_vulkan_trash_deinit()
77 g_warn_if_fail (gst_vulkan_fence_is_signaled (trash->fence)); in gst_vulkan_trash_deinit()
78 gst_vulkan_fence_unref (trash->fence); in gst_vulkan_trash_deinit()
79 trash->fence = NULL; in gst_vulkan_trash_deinit()
92 trash->fence); in gst_vulkan_trash_free()
100 gst_vulkan_trash_init (GstVulkanTrash * trash, GstVulkanFence * fence, in gst_vulkan_trash_init() argument
103 g_return_if_fail (fence != NULL); in gst_vulkan_trash_init()
104 g_return_if_fail (GST_IS_VULKAN_DEVICE (fence->device)); in gst_vulkan_trash_init()
112 " on device %" GST_PTR_FORMAT, trash, fence, fence->device); in gst_vulkan_trash_init()
113 trash->fence = gst_vulkan_fence_ref (fence); in gst_vulkan_trash_init()
[all …]
/third_party/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 …]
/third_party/mesa3d/src/util/
Du_queue.h75 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()
105 util_queue_fence_reset(struct util_queue_fence *fence) in util_queue_fence_reset() argument
108 fence->val = 1; in util_queue_fence_reset()
110 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 = 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
[all …]
/third_party/flutter/skia/third_party/externals/dawn/src/tests/unittests/validation/
DFenceValidationTests.cpp27 dawn::Fence fence; member
39 void TestOnCompletion(dawn::Fence fence, uint64_t value, DawnFenceCompletionStatus status) { in TestOnCompletion() argument
41 expectation->fence = fence; in TestOnCompletion()
46 fence.OnCompletion(value, ToMockFenceOnCompletionCallback, expectation); in TestOnCompletion()
86 dawn::Fence fence = queue.CreateFence(&descriptor); in TEST_F() local
87 EXPECT_EQ(fence.GetCompletedValue(), 1u); in TEST_F()
96 dawn::Fence fence = queue.CreateFence(&descriptor); in TEST_F() local
101 fence.OnCompletion(0u, ToMockFenceOnCompletionCallback, this + 0); in TEST_F()
106 fence.OnCompletion(1u, ToMockFenceOnCompletionCallback, this + 1); in TEST_F()
113 dawn::Fence fence = queue.CreateFence(&descriptor); in TEST_F() local
[all …]
/third_party/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 …]
/third_party/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 …]
/third_party/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 …]
/third_party/flutter/skia/third_party/externals/dawn/src/tests/end2end/
DFenceTests.cpp60 void WaitForCompletedValue(dawn::Fence fence, uint64_t completedValue) { in WaitForCompletedValue() argument
61 while (fence.GetCompletedValue() < completedValue) { in WaitForCompletedValue()
71 dawn::Fence fence = queue.CreateFence(&descriptor); in TEST_P() local
74 EXPECT_EQ(fence.GetCompletedValue(), 1u); in TEST_P()
76 queue.Signal(fence, 2); in TEST_P()
77 WaitForCompletedValue(fence, 2); in TEST_P()
80 EXPECT_EQ(fence.GetCompletedValue(), 2u); in TEST_P()
87 dawn::Fence fence = queue.CreateFence(&descriptor); in TEST_P() local
89 queue.Signal(fence, 4); in TEST_P()
111 fence.OnCompletion(2u, ToMockFenceOnCompletionCallback, this + 2); in TEST_P()
[all …]
/third_party/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 …]
/third_party/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 …]
/third_party/mesa3d/src/gallium/drivers/crocus/
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() argument
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()
226 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); in crocus_fence_flush() local
[all …]
/third_party/flutter/skia/third_party/externals/dawn/src/tests/unittests/wire/
DWireFenceTests.cpp70 fence = dawnQueueCreateFence(queue, &descriptor); in SetUp()
93 dawnQueueSignal(queue, fence, signalValue); in DoQueueSignal()
105 DawnFence fence; member in WireFenceTests
126 dawnQueueSignal(queue, fence, 2u); in TEST_F()
127 dawnQueueSignal(queue, fence, 4u); in TEST_F()
128 dawnQueueSignal(queue, fence, 5u); in TEST_F()
137 dawnQueueSignal(queue, fence, 0u); // Error in TEST_F()
141 dawnQueueSignal(queue, fence, 1u); // Error in TEST_F()
145 dawnQueueSignal(queue, fence, 4u); // Success in TEST_F()
149 dawnQueueSignal(queue, fence, 3u); // Error in TEST_F()
[all …]
/third_party/mesa3d/src/gallium/drivers/iris/
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() argument
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()
277 struct pipe_fence_handle *fence = calloc(1, sizeof(*fence)); in iris_fence_flush() local
[all …]
/third_party/mesa3d/src/intel/vulkan/
Danv_wsi_display.c37 struct anv_fence *fence; in anv_RegisterDeviceEventEXT() local
40 fence = vk_object_zalloc(&device->vk, allocator, sizeof (*fence), in anv_RegisterDeviceEventEXT()
42 if (!fence) in anv_RegisterDeviceEventEXT()
45 fence->permanent.type = ANV_FENCE_TYPE_WSI; in anv_RegisterDeviceEventEXT()
51 &fence->permanent.fence_wsi, in anv_RegisterDeviceEventEXT()
54 *_fence = anv_fence_to_handle(fence); in anv_RegisterDeviceEventEXT()
56 vk_free2(&device->vk.alloc, allocator, fence); in anv_RegisterDeviceEventEXT()
68 struct anv_fence *fence; in anv_RegisterDisplayEventEXT() local
71 fence = vk_object_zalloc(&device->vk, allocator, sizeof (*fence), in anv_RegisterDisplayEventEXT()
73 if (!fence) in anv_RegisterDisplayEventEXT()
[all …]
/third_party/mesa3d/src/gallium/drivers/zink/
Dzink_fence.c37 mfence->fence = NULL; in destroy_fence()
120 zink_vkfence_wait(struct zink_screen *screen, struct zink_fence *fence, uint64_t timeout_ns) in zink_vkfence_wait() argument
124 if (p_atomic_read(&fence->completed)) in zink_vkfence_wait()
127 assert(fence->batch_id); in zink_vkfence_wait()
128 assert(fence->submitted); in zink_vkfence_wait()
134 ret = VKSCR(WaitForFences)(screen->dev, 1, &fence->fence, VK_TRUE, timeout_ns); in zink_vkfence_wait()
136 ret = VKSCR(GetFenceStatus)(screen->dev, fence->fence); in zink_vkfence_wait()
140 p_atomic_set(&fence->completed, true); in zink_vkfence_wait()
141 zink_batch_state(fence)->usage.usage = 0; in zink_vkfence_wait()
142 zink_screen_update_last_finished(screen, fence->batch_id); in zink_vkfence_wait()
[all …]
/third_party/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 …]
/third_party/vk-gl-cts/external/vulkancts/modules/vulkan/synchronization/
DvktSynchronizationBasicFenceTests.cpp64 const Unique<VkFence> fence (createFence(vk, device, &fenceInfo)); in basicOneFenceCase() local
79 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase()
82 if (VK_TIMEOUT != vk.waitForFences(device, 1u, &fence.get(), VK_TRUE, SHORT_FENCE_WAIT)) in basicOneFenceCase()
85 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase()
91 VK_CHECK(vk.queueSubmit(queue, 1u, &submitInfo, *fence)); in basicOneFenceCase()
93 if (VK_SUCCESS != vk.waitForFences(device, 1u, &fence.get(), DE_TRUE, LONG_FENCE_WAIT)) in basicOneFenceCase()
96 if (VK_SUCCESS != vk.getFenceStatus(device, *fence)) in basicOneFenceCase()
99 if (VK_SUCCESS != vk.resetFences(device, 1u, &fence.get())) in basicOneFenceCase()
102 if (VK_NOT_READY != vk.getFenceStatus(device, *fence)) in basicOneFenceCase()
168 const VkFence fence[2] = in basicMultiFenceCase() local
[all …]
/third_party/mesa3d/src/gallium/winsys/i915/drm/
Di915_drm_fence.c23 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()
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() argument
41 struct i915_drm_fence *f = (struct i915_drm_fence *)fence; in i915_drm_fence_reference()
48 *ptr = fence; in i915_drm_fence_reference()
53 struct pipe_fence_handle *fence) in i915_drm_fence_signalled() argument
55 struct i915_drm_fence *f = (struct i915_drm_fence *)fence; in i915_drm_fence_signalled()
66 struct pipe_fence_handle *fence) in i915_drm_fence_finish() argument
[all …]
/third_party/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 …]

12345678910>>...30