The way VK_PRESENT_MODE_MAILBOX_KHR is currently implemented on Nvidia GPUs does not conform to the specification, as it results in tearing. https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPresentModeKHR.html
A correct implementation results in triple buffered presentation (which is called “fast sync” by Nvidia, confusingly). Currently it behaves as VK_PRESENT_MODE_IMMEDIATE_KHR is supposed to, which on the other hand is not even available as a supported mode.
I’m using Windows 10 x64, GTX 1080 Ti, driver version 430.64.
A test application that demonstrates this behavior can be downloaded from here: https://mega.nz/#!3oNREQTT!untcsi3q_InDBebTIszLKuv8LqMzvtMQ6pbIoJpPa3I
Thanks for reporting the issue and we would like to file an internal bug to track it. However, I am not able to download your test application. Can you check if it’s a valid path?
Thank you for reporting the issue to NVIDIA. The reproduce application is very helpful.
Vulkan driver team has looked into your VulkanMailboxTest application. We have found the bug in our present path and have a fix for this bug that will release in future public GA driver (TBD). We also have a beta driver that is targeted to developer like you to experiment latest bug fixes and Vulkan extensions here: https://developer.nvidia.com/vulkan-driver The windows driver 425.62 should fix the issue you have reported here. Please let us know if this helps. Thanks!
I’m glad to hear it was of use. I can confirm that the issue was solved in that beta driver version. The MAILBOX present mode behaves correctly now, and support for IMMEDIATE was also added. Very nice!