[Frame loop] Validation error: UNASSIGNED-CoreValidation-DrawState-SwapchainImageNotAcquired
loop the trace and got :
17:24:45.698 I: <gapir> UNASSIGNED-CoreValidation-DrawState-SwapchainImageNotAcquired(ERROR / SPEC): msgNum: 0 - vkQueuePresentKHR: Swapchain image index 2 has not been acquired.
17:24:45.698 I: <gapir> Objects: 1
17:24:45.698 I: <gapir> [0] 0x20000000002, type: 1000001000, name: NULL
oo I hadn't thought about this one. Some swapchain images will be acquired, so we have to make sure that is the same. This should be do-able by adding some state to the state block to track the acquired state of a swapchain image.
It turns out the latest validation layer will drop the pNext that is unknown to them :https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/ec689c0c0138f7d35ba25e7845aed502648ed497#diff-07e7514a0cee0b2fc25b4734dc4d1fc1R29581
which will cause the pNext as nullptr in the pCreatInfo for the virtual swapchain.(https://github.com/google/gapid/blob/master/core/vulkan/vk_virtual_swapchain/cc/swapchain.cpp#L207)