According to the 1.1.85 spec on vkAcquireNextImageKHR(): https://renderdoc.org/vkspec_chunked/chap31.html#vkAcquireNextImageKHR
“An image will eventually be acquired if the number of images that the application has currently acquired (but not yet presented) is less than or equal to the difference between the number of images in swapchain and the value of VkSurfaceCapabilitiesKHR::minImageCount. If the number of currently acquired images is greater than this, vkAcquireNextImage should not be called; if it is, timeout must not be UINT64_MAX.”
This seems to imply that calling vkAcquireNextImageKHR() for greater than the ‘max acquirable images’ is valid, but should return an error code like VK_NOT_READY. With the current NVidia Vulkan drivers calling vkAcquireNextImageKHR() with grater than the ‘max acquirable images’ returns VK_ERROR_VALIDATION_FAILED_EXT. What’s strange is this does not cause VkDebugReportCallbackEXT to fire, and occurs whether or not validation is enabled (I wasn’t accidentally returning VK_TRUE from the debug callback).
Vulkan SDK version: 220.127.116.11
Drivers version: 411.70
Hardware: GTX 970
OS: Windows 7 64bits