MSAA rendering bug

I think I have found an MSAA rasterization bug. We only see this issue on nvidia hardware.

The issue seems to be when two identical quads are drawn, one after the other and the rasterization for some of the MSAA samples do not fill between the two triangles shared edge. The resolved image shows some of the first triangle, but inspecting the different MSAA samples shows that some have rendered correctly.

The results are also non deterministic, so the result is a line which flickers. Even recording and playing back inside renderdoc shows the issue occur and give different results each time the view is updated.

I have created an Nsight c++ export and uploaded it here:

This sample draws a red quad then a green quad and with MSAA enabled a flickering line can be seen from top left to bottom right.

We see the issue on 16XX/2080/3080 cards with both older and the latest drivers.

We do not see the issue on the GTX 660 running driver

Our only solution at this point is to disable MSAA on nvidia hardware which is not great. Any suggestions to debug this further would be greatly appreciated.


I forgot to add, this only occurs on DirectX11, our Vulkan renderer under the same MSAA and draw calls does not exhibit this issue.