/third_party/mesa3d/src/gallium/drivers/nouveau/ |
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->screen; in nouveau_fence_emit() [all …]
|
/third_party/mesa3d/src/gallium/drivers/freedreno/ |
D | freedreno_fence.c | 38 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/ |
D | brw_sync.c | 75 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/ |
D | gstvkfence.c | 55 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 …]
|
D | gstvktrash.c | 76 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/ |
D | intel_syncobj.c | 56 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/ |
D | u_queue.h | 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() 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 …]
|
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 [all …]
|
/third_party/flutter/skia/third_party/externals/dawn/src/tests/unittests/validation/ |
D | FenceValidationTests.cpp | 27 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/ |
D | vmw_fence.c | 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() 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/ |
D | lp_fence.c | 48 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/ |
D | lima_fence.c | 46 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/ |
D | FenceTests.cpp | 60 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/ |
D | swr_fence.cpp | 47 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 …]
|
D | swr_fence_work.cpp | 34 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/ |
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() 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/ |
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() 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/ |
D | WireFenceTests.cpp | 70 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/ |
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() 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/ |
D | anv_wsi_display.c | 37 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/ |
D | zink_fence.c | 37 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/ |
D | st_cb_syncobj.c | 44 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/ |
D | vktSynchronizationBasicFenceTests.cpp | 64 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/ |
D | i915_drm_fence.c | 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() 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/ |
D | dri_helpers.c | 95 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 …]
|