···11+// Copyright 2019-2021, Collabora, Ltd.
22+// SPDX-License-Identifier: BSL-1.0
33+/*!
44+ * @file
55+ * @brief Independent @ref xrt_compositor_fence implementation.
66+ * @author Jakob Bornecrantz <jakob@collabora.com>
77+ * @ingroup comp_main
88+ */
99+1010+#pragma once
1111+1212+#include "xrt/xrt_handles.h"
1313+#include "xrt/xrt_compositor.h"
1414+#include "vk/vk_helpers.h"
1515+1616+1717+#ifdef __cplusplus
1818+extern "C" {
1919+#endif
2020+2121+2222+/*!
2323+ * For importing @ref xrt_graphics_sync_handle_t and turn them into a @ref xrt_compositor_fence.
2424+ *
2525+ * The vk_bundle is owned by the compositor, its the state trackers job to make
2626+ * sure that compositor lives for as long as the fence does and that all fences
2727+ * are destroyed before the compositor is destroyed.
2828+ */
2929+xrt_result_t
3030+comp_fence_import(struct vk_bundle *vk, xrt_graphics_sync_handle_t handle, struct xrt_compositor_fence **out_xcf);
3131+3232+3333+#ifdef __cplusplus
3434+}
3535+#endif