MSAA rendering bug

Hi,
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 27.21.14.5671

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.

Thanks,
Richard.

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

I can confirm this issue on DirectX9.
Running with dxvk or d3d9on12 doesn’t have this problem either.

Still no solution?

Welcome @richard.rountree to the NVIDIA developer forums.

Sorry that your original post was overlooked last year, but good that it got updated now. Quick sanity check, can you confirm that the issue still persists with current NVIDIA drivers?

I reached out to our DirectX team and forwarded the information, hopefully they will have some comments soon.

And welcome to @reg1oxen as well, thanks for pointing out that you can reproduce on DX9. If you have an NSight capture as well, the more the better.

Thank you!

Nevermind, found it in the Github repo.

"driver": {
        "branch": "r511_37",
        "vendor": "nvidia",
        "version": "51165"
    },
    "incompatibilities": [
        "ID2D1Factory7::GetDesktopDpi",
        "ID2D1Factory7::Release"
    ],
    "metadata_version": 1,
    "nsight_version": "2021.3.1",
    "nsight_version_branch": "Rel/Grpx",
    "nsight_version_build_id": 30157086,
    "os_information": "Windows 10 (20H2)",
    "primary_api": "d3d11",
    "primary_gpu": "NVIDIA GeForce RTX 2080 SUPER"
1 Like

Hi Markus,

Running on windows 10, I have tested again yesterday with the latest studio driver 536.99 and the issue is still visible.

Not sure of any driver version where it started, we just had one old test machine with a GTX 660 running driver 27.21.14.5671 which did not show the issue.

At the time of spotting the issue I would have tried upgrading drivers to fix it so whatever the studio driver in March last year was is the earliest I can say for sure showed it.

Unfortunately I had some data loss and my original investigations (renderdoc captures etc) were all lost, so the Nsight capture is the only thing remaining. It shouldn’t be too much work to re-created with any different configurations if required.

Cheers,

Richard.

Thanks for the additional information. I’ll add that to the internal issue report.

I’ll let you know if we need more data.