zink: Eliminate no-op command buffers
zink is submitting many no-op VkCommandBuffers when replaying an apitrace of Unturned(1). Strictly speaking, the command buffers do things on the GPU, such as setting dynamic state, but produce no observable output.
I believe they should eliminated, in order to reduce driver overhead.
Here is an example discovered through gfxrecon:
VkSubmitInfo...
"pCommandBuffers": [
{
"commands": [
"vkBeginCommandBuffer",
"vkCmdSetAttachmentFeedbackLoopEnableEXT",
"vkCmdSetPatchControlPointsEXT",
"vkCmdSetColorWriteEnableEXT",
"vkCmdPipelineBarrier2",
"vkEndCommandBuffer"
]
},
{
"commands": [
"vkBeginCommandBuffer",
"vkCmdSetAttachmentFeedbackLoopEnableEXT",
"vkCmdSetPatchControlPointsEXT",
"vkCmdSetAttachmentFeedbackLoopEnableEXT",
"vkCmdSetColorWriteEnableEXT",
"vkCmdSetDepthWriteEnable",
"vkEndCommandBuffer"
]
}
],