50XRT_CHECK_RESULT VkResult
69XRT_CHECK_RESULT VkResult
79XRT_CHECK_RESULT VkResult
82 VkCommandBufferUsageFlags
flags,
83 VkCommandBuffer *out_cmd_buffer);
92XRT_CHECK_RESULT VkResult
111XRT_CHECK_RESULT
static inline VkResult
114 VkCommandBuffer cmd_buffer)
149XRT_CHECK_RESULT
static inline VkResult
164XRT_CHECK_RESULT
static inline VkResult
167 VkCommandBufferUsageFlags
flags,
168 VkCommandBuffer *out_cmd_buffer)
182XRT_CHECK_RESULT
static inline VkResult
198XRT_CHECK_RESULT
static inline VkResult
214XRT_CHECK_RESULT
static inline VkResult
217 VkCommandBuffer cmd_buffer)
225#ifdef VK_EXT_debug_utils
234XRT_CHECK_RESULT VkResult
235vk_cmd_pool_create_begin_insert_label_and_end_cmd_buffer_locked(
struct vk_bundle *vk,
237 const char *label_name,
238 VkCommandBuffer *out_cmd_buffer);
static void os_mutex_lock(struct os_mutex *om)
Lock.
Definition: os_threading.h:86
static void os_mutex_unlock(struct os_mutex *om)
Unlock.
Definition: os_threading.h:110
XRT_CHECK_RESULT VkResult vk_cmd_end_submit_wait_and_free_cmd_buffer_locked(struct vk_bundle *vk, VkCommandPool pool, VkCommandBuffer cmd_buffer)
A do everything command buffer submission function, the _locked suffix refers to the command pool not...
Definition: vk_cmd.c:97
XRT_CHECK_RESULT VkResult vk_cmd_submit_locked(struct vk_bundle *vk, uint32_t count, const VkSubmitInfo *infos, VkFence fence)
Very small helper to submit a command buffer, the _locked suffix refers to the command pool not the q...
Definition: vk_cmd.c:81
A very simple implementation of a fence primitive.
Definition: comp_sync.c:36
Definition: m_space.cpp:87
A wrapper around a native mutex.
Definition: os_threading.h:55
Definition: u_worker.c:49
struct os_mutex mutex
Big contenious mutex.
Definition: u_worker.c:53
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code.
Definition: vk_helpers.h:49
Small helper to manage lock around a command pool.
Definition: vk_cmd_pool.h:33
static void vk_cmd_pool_unlock(struct vk_cmd_pool *pool)
Unlock the command pool.
Definition: vk_cmd_pool.h:138
static XRT_CHECK_RESULT VkResult vk_cmd_pool_create_and_begin_cmd_buffer(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBufferUsageFlags flags, VkCommandBuffer *out_cmd_buffer)
Locks, calls vk_cmd_pool_create_and_begin_cmd_buffer_locked, and then unlocks the command pool.
Definition: vk_cmd_pool.h:165
static XRT_CHECK_RESULT VkResult vk_cmd_pool_submit(struct vk_bundle *vk, struct vk_cmd_pool *pool, uint32_t count, const VkSubmitInfo *infos, VkFence fence)
Locks, calls vk_cmd_submit_locked, and then unlocks the command pool.
Definition: vk_cmd_pool.h:183
XRT_CHECK_RESULT VkResult vk_cmd_pool_create_and_begin_cmd_buffer_locked(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBufferUsageFlags flags, VkCommandBuffer *out_cmd_buffer)
Create a command buffer and also begin it, call with the pool mutex held.
Definition: vk_cmd_pool.c:85
XRT_CHECK_RESULT VkResult vk_cmd_pool_init(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandPoolCreateFlags flags)
Create a command buffer pool.
Definition: vk_cmd_pool.c:22
void vk_cmd_pool_destroy(struct vk_bundle *vk, struct vk_cmd_pool *pool)
Destroy a command buffer pool, lock must not be held, externally synchronizable with all other pool c...
Definition: vk_cmd_pool.c:45
static XRT_CHECK_RESULT VkResult vk_cmd_pool_end_submit_wait_and_free_cmd_buffer_locked(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer cmd_buffer)
A do everything submit function, will take the queue mutex.
Definition: vk_cmd_pool.h:112
XRT_CHECK_RESULT VkResult vk_cmd_pool_create_cmd_buffer_locked(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer *out_cmd_buffer)
Create a command buffer, call with the pool mutex held.
Definition: vk_cmd_pool.c:59
static XRT_CHECK_RESULT VkResult vk_cmd_pool_create_cmd_buffer(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer *out_cmd_buffer)
Locks, calls vk_cmd_pool_create_cmd_buffer_locked, and then unlocks the command pool.
Definition: vk_cmd_pool.h:150
static XRT_CHECK_RESULT VkResult vk_cmd_pool_end_submit_wait_and_free_cmd_buffer(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer cmd_buffer)
Locks, calls vk_cmd_pool_end_submit_wait_and_free_cmd_buffer_locked, and then unlocks the command poo...
Definition: vk_cmd_pool.h:215
static void vk_cmd_pool_lock(struct vk_cmd_pool *pool)
Lock the command pool, needed for creating command buffers, filling out commands on any command buffe...
Definition: vk_cmd_pool.h:127
XRT_CHECK_RESULT VkResult vk_cmd_pool_submit_cmd_buffer_locked(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer cmd_buffer)
Submit to the vulkan queue, will take the queue mutex.
Definition: vk_cmd_pool.c:125
static XRT_CHECK_RESULT VkResult vk_cmd_pool_submit_cmd_buffer(struct vk_bundle *vk, struct vk_cmd_pool *pool, VkCommandBuffer cmd_buffer)
Locks, calls vk_cmd_pool_submit_cmd_buffer_locked, and then unlocks the command pool.
Definition: vk_cmd_pool.h:199
Common Vulkan code header.