Kohi Game Engine
vulkan_command_buffer.h
Go to the documentation of this file.
1 
13 #pragma once
14 #include "vulkan_types.h"
15 
27  vulkan_context* context,
28  VkCommandPool pool,
29  b8 is_primary,
30  const char* name,
31  vulkan_command_buffer* out_command_buffer,
32  u32 secondary_buffer_count);
33 
42  vulkan_context* context,
43  VkCommandPool pool,
44  vulkan_command_buffer* command_buffer);
45 
56  vulkan_context* context,
57  vulkan_command_buffer* command_buffer,
58  b8 is_single_use,
59  b8 is_renderpass_continue,
60  b8 is_simultaneous_use);
61 
69 
90  vulkan_context* context,
91  vulkan_command_buffer* command_buffer,
92  VkQueue queue,
93  u32 signal_semaphore_count,
94  VkSemaphore* signal_semaphores,
95  u32 wait_semaphore_count,
96  VkSemaphore* wait_semaphores,
97  VkFence fence);
98 
106 
113 
122  vulkan_context* context,
123  VkCommandPool pool,
124  vulkan_command_buffer* out_command_buffer);
125 
135  vulkan_context* context,
136  VkCommandPool pool,
137  vulkan_command_buffer* command_buffer,
138  VkQueue queue);
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.