Lines Matching refs:fence

102    struct vk_fence *fence;
114 /* We should always be able to get a fence type for internal */
126 fence = vk_object_zalloc(device, pAllocator, size, VK_OBJECT_TYPE_FENCE);
127 if (fence == NULL)
135 VkResult result = vk_sync_init(device, &fence->permanent,
138 vk_object_free(device, pAllocator, fence);
142 *fence_out = fence;
154 struct vk_fence *fence;
156 VkResult result = vk_fence_create(device, pCreateInfo, pAllocator, &fence);
160 *pFence = vk_fence_to_handle(fence);
167 struct vk_fence *fence)
169 if (fence->temporary == NULL)
172 vk_sync_destroy(device, fence->temporary);
173 fence->temporary = NULL;
178 struct vk_fence *fence,
181 vk_fence_reset_temporary(device, fence);
182 vk_sync_finish(device, &fence->permanent);
184 vk_object_free(device, pAllocator, fence);
193 VK_FROM_HANDLE(vk_fence, fence, _fence);
195 if (fence == NULL)
198 vk_fence_destroy(device, fence, pAllocator);
209 VK_FROM_HANDLE(vk_fence, fence, pFences[i]);
214 * temporary permanence, that fence’s prior permanent payload is
218 vk_fence_reset_temporary(device, fence);
220 VkResult result = vk_sync_reset(device, &fence->permanent);
233 VK_FROM_HANDLE(vk_fence, fence, _fence);
238 VkResult result = vk_sync_wait(device, vk_fence_get_active_sync(fence),
268 VK_FROM_HANDLE(vk_fence, fence, pFences[i]);
270 .sync = vk_fence_get_active_sync(fence),
351 VK_FROM_HANDLE(vk_fence, fence, pImportFenceFdInfo->fence);
372 sync = &fence->permanent;
387 result = vk_error(fence, VK_ERROR_INVALID_EXTERNAL_HANDLE);
398 * "Importing a fence payload from a file descriptor transfers
409 vk_fence_reset_temporary(device, fence);
410 fence->temporary = temporary;
422 VK_FROM_HANDLE(vk_fence, fence, pGetFdInfo->fence);
426 struct vk_sync *sync = vk_fence_get_active_sync(fence);
438 * semaphore export apply. We can't export a sync file from a fence
439 * if the fence event hasn't been submitted to the kernel yet.
456 * handle type’s import operations. Additionally, exporting a fence
458 * effects on the source fence’s payload as executing a fence reset
461 * In other words, exporting a sync file also resets the fence. We
465 if (sync == &fence->permanent) {
473 unreachable("Invalid fence export handle type");
479 * handle type’s import operations. [...] If the fence was using a
480 * temporarily imported payload, the fence’s prior permanent payload
483 vk_fence_reset_temporary(device, fence);