32 u32 secondary_buffer_count);
59 b8 is_renderpass_continue,
60 b8 is_simultaneous_use);
93 u32 signal_semaphore_count,
94 VkSemaphore* signal_semaphores,
95 u32 wait_semaphore_count,
96 VkSemaphore* wait_semaphores,
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
_Bool b8
8-bit boolean type
Definition: defines.h:58
A simple queue container. Elements are popped off the queue in the same order they were pushed to it.
Definition: queue.h:21
Represents a Vulkan-specific command buffer, which holds a list of commands and is submitted to a que...
Definition: vulkan_types.h:246
The overall Vulkan context for the backend. Holds and maintains global renderer backend state,...
Definition: vulkan_types.h:681
void vulkan_command_buffer_reset(vulkan_command_buffer *command_buffer)
Resets the command buffer to the ready state.
void vulkan_command_buffer_end(vulkan_context *context, vulkan_command_buffer *command_buffer)
Ends the given command buffer.
void vulkan_command_buffer_execute_secondary(vulkan_context *context, vulkan_command_buffer *secondary)
Executes commands in the given secondary command buffer.
void vulkan_command_buffer_allocate_and_begin_single_use(vulkan_context *context, VkCommandPool pool, vulkan_command_buffer *out_command_buffer)
Allocates and begins recording to out_command_buffer.
void vulkan_command_buffer_end_single_use(vulkan_context *context, VkCommandPool pool, vulkan_command_buffer *command_buffer, VkQueue queue)
Ends recording, submits to and waits for queue operation and frees the provided command buffer.
b8 vulkan_command_buffer_submit(vulkan_context *context, vulkan_command_buffer *command_buffer, VkQueue queue, u32 signal_semaphore_count, VkSemaphore *signal_semaphores, u32 wait_semaphore_count, VkSemaphore *wait_semaphores, VkFence fence)
Sets the command buffer to the submitted state.
void vulkan_command_buffer_begin(vulkan_context *context, vulkan_command_buffer *command_buffer, b8 is_single_use, b8 is_renderpass_continue, b8 is_simultaneous_use)
Begins the provided command buffer.
void vulkan_command_buffer_allocate(vulkan_context *context, VkCommandPool pool, b8 is_primary, const char *name, vulkan_command_buffer *out_command_buffer, u32 secondary_buffer_count)
Allocates a new command buffer from the given pool.
void vulkan_command_buffer_free(vulkan_context *context, VkCommandPool pool, vulkan_command_buffer *command_buffer)
Frees the given command buffer and returns it to the provided pool.
This file contains a collection fo Vulkan-specific types used for the Vulkan backend.