Resetting a command buffer
When a command buffer was previously recorded, or if there were errors during the recording operation, the command buffer must be reset before it can be rerecorded once again. We can do this implicitly, by beginning another record operation. But, we can also do it explicitly.
How to do it...
- Take the handle of a command buffer allocated from a pool that was created with a
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
flag. Store the handle in a variable of typeVkCommandBuffer
namedcommand_buffer
. - Create a variable of type
VkCommandBufferResetFlags
namedrelease_resources
. In the variable, store a value ofVK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT
if you want to release memory allocated by the buffer and give it back to the pool. Otherwise, store a0
value in the variable. - Call
vkResetCommandBuffer( command_buffer, release_resources )
and provide the handle of the command buffer in the first parameter, and therelease_resources
variable in the second parameter...