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_BITflag. Store the handle in a variable of typeVkCommandBuffernamedcommand_buffer. - Create a variable of type
VkCommandBufferResetFlagsnamedrelease_resources. In the variable, store a value ofVK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BITif you want to release memory allocated by the buffer and give it back to the pool. Otherwise, store a0value in the variable. - Call
vkResetCommandBuffer( command_buffer, release_resources )and provide the handle of the command buffer in the first parameter, and therelease_resourcesvariable in the second parameter...