Crash with vulkan when using VK_NV_framebuffer_mixed_samples + dynamic rendering

System details:
* Windows 10 Home 64 bit 10.0.19043 Build 19043
* Driver version: 512.95
* Geforce Experience version:
* Vulkan headers version: 1.3.211
* Not overclocked

When using Vulkan 1.3 with dynamic rendering enabled (not as an extension, but as a Vulkan 1.3 feature) the use of mixed samples (enabled via pNext chain of vk::PipelineRenderingCreateInfo linked to the vk::AttachmentSampleCountInfo[AMD/NV] struct) DOES work when using 1 color attachment and 1 depth attachment.

It also works (at least for the scenarios I tested) when all color attachments have the same sample count (only tested with the same sample count as the depth attachment, haven’t tested if having the color attachments all have the same sample count, but a lower sample count than the depth attachment works).

The crash happens (without validation layer errors) when you mix different color attachment sample counts, as in my case:

vk::SampleCountFlagBits::e8 for 1st color attachment
vk::SampleCountFlagBits::e8 for depth attachment
vk::SampleCountFlagBits::e1 for 2nd color attachment
vk::SampleCountFlagBits::e1 for 3rd color attachment
vk::SampleCountFlagBits::e1 for 4th color attachment

The crash happened with and without validation layers in the same way. It did not crash in the following configuration:

vk::SampleCountFlagBits::e8 for depth attachment
vk::SampleCountFlagBits::e1 for 1st color attachment
vk::SampleCountFlagBits::e8 for 2nd color attachment

So swapping the orders did somewhat help, but it did not render anything to the 2nd attachment (1st did render like it supposed to).

The crashes happen at vk::Queue::submit time (exception thrown by vulkan.hpp), it threw a DeviceLostError

The exact same (engine) code is tested on the latest Adrenalin drivers from AMD on a laptop (Windows 10 Home 64 bit 10.0.19044 Build 19044, Adrenalin 22.5.2), where it works without any crashes or errors. Of course, the only thing different on the laptop was using VK_AMD_mixed_attachment_samples instead of VK_NV_framebuffer_mixed_samples

Note 1: I used vkCmdDrawIndirectCount as draw call

Note 2: I’ve already submitted a bug report to the NVIDIA Developer Support Submission Form, (found that page on How to report a bug) so I do not know if this is a duplicate, or that the page (the Game Development Support Form) is not actually for bugs)

Still not fixed as of GeForce Game Ready Driver 516.59

Please provide a minimal test code with executable. We hve no enough information.

1 Like