SDK or header version if building from repo: 789f86b
Options enabled (synchronization, best practices, etc.):
Describe the Issue
Command Buffer state tracking has a member variable, push_constant_data_chunks that tracks push constant data as it is pushed with vkCmdPushConstants calls. Every call adds to the end of this array with the data the user has pushed, here.
This array is cleared out whenever a multipass render pass begins or moves to the next subpass (via UnbindResources()). However, this array is NOT cleared out when the command buffer is reset, either with vkResetCommandBuffer or vkResetCommandPool. This results in a slow leak as every push constant slowly adds more data to the command buffer's state.
Environment:
Describe the Issue
Command Buffer state tracking has a member variable,
push_constant_data_chunks
that tracks push constant data as it is pushed withvkCmdPushConstants
calls. Every call adds to the end of this array with the data the user has pushed, here.This array is cleared out whenever a multipass render pass begins or moves to the next subpass (via
UnbindResources()
). However, this array is NOT cleared out when the command buffer is reset, either withvkResetCommandBuffer
orvkResetCommandPool
. This results in a slow leak as every push constant slowly adds more data to the command buffer's state.Expected behavior
vvl::CommandBuffer::ResetCBState()
should clear thepush_constant_data_chunks
array.Additional context