
New to the Vulkan 1.3.293 spec update is NVIDIA's VK_NV_command_buffer_inheritance extension. This new extension allows for game engines and apps to re-use graphics and compute state between command buffers in the execution queue. NVIDIA's Piers Daniell worked on this extension with Daniel Story of Nintendo. The VK_NV_command_buffer_inheritance extension is explained as:
"This extension allows applications to take advantage of the graphics and compute state that remains valid in the queue between executions of submitted command buffers. This works across both primary and secondary command buffers.
The state inherited includes the previously bound pipeline state, previously bound shader objects, previously bound vertex and index buffers, previously bound descriptor sets and push constants, and all previously set dynamic state.
This extension relaxes the requirement that all that state needs to be bound and set after begin command buffer and before the next draw or dispatch.
By not having to set state that has been inherited applications can save both CPU and GPU cycles by not having to set state redundantly, and also have improved flexibility when reusing secondary command buffers."
An interesting addition and we'll see if this command buffer inheritance extension takes on interest from other vendors with their Vulkan drivers.
More details on this routine Vulkan API spec update and all the VK_NV_command_buffer_inheritance documentation via this Vulkan Docs commit .