Testing out multisample support with Vulkan i ran into a few problems:
Resolving into a presentable image via subpass, if the view was created with VkImageViewCreateInfo::subresourceRange::layerCount set to the special value VK_REMAINING_ARRAY_LAYERS, indicating all remaining layers, during the recording of the command buffer the call to vkCmdEndRenderPass, which ends the subpass that does the resolve, the driver runs into an endless loop. The disassembler shows that the value is loaded and used in a simple loop (iterating over all layers to resolve i assume), but it was not replaced with the actual layer count nor is the special value checked. Setting the value to 1 solves the issue.
Attachment stores for a render-resolve render pass show buggy behaviour. In detail, a render pass with a single subpass that renders into a multisample color attachment and multisample depth attachment and resolves that color attachment into a presentable image: Intuitively, the color and depth attachment should use clear/dont_care for their load/store ops and the present image should use dont_care/store. But setting the depth attachment to VK_ATTACHMENT_STORE_OP_DONT_CARE results in a flickering image, only the first image rendered is ever presented, all other presents have no effect, the FPS drops significantly, but no call reports an error. Only when i start to clean up will vkDeviceWaitIdle return DEVICE_LOST. Setting VkAttachmentDescription::storeOp of the depth attachment to VK_ATTACHMENT_STORE_OP_STORE solves this issue.
Especially the second one seems weird, as the depth buffer should have no impact on the resolve, and in fact without multisample/resolve, setting the depth attachment to VK_ATTACHMENT_STORE_OP_DONT_CARE while rendering directly to the presentable image works as expected.
OS: Windows 7 Professional SP1 x64
GPU: GTX 970, Driver 356.43 Vulkan beta driver
Loader: Tested with Vulkan SDK loader (both with and without validation layers) as well as loading the driver myself
Swapchain/Color attachment format: VK_FORMAT_B8G8R8A8_SRGB
Depth attachment format: tested with VK_FORMAT_D24_UNORM_S8_UINT and VK_FORMAT_D32_SFLOAT
Swapchain size: 2
Swapchain mode: mailbox
Multisample count: tested with 2, 4 and 8 samples
Please let me know if you require additional information.