-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan: Enabling MSAA with SSAO causes artifacts to appear on AMD Polaris GPUs #61415
Comments
Please specify the exact version you're using (i.e. which alpha or commit hash), as 4.0 stable isn't released yet. |
Alpha 7 |
I tried it with Godot alpha 7 and 8 and I could not reproduce the bug. |
I can recreate this problem exactly, I am currently using Godot 4.0 beta 10, graphics card is a RadeonRX 580. With MSAA on at 4X, turning on SSAO causes artifacts when moving around, artifacts are gone when SSAO turned off. Problem shows up in an external Godot game I downloaded from Itch.io as well, 'Limspace'. Limspace does not have an option to turn SSAO on/off, I'm assuming that it is on. |
I can't reproduce this on 4.0.beta f692b47 (Linux, AMD Radeon RX 6900 XT, Mesa RADV). This could be an issue specific to Polaris GPUs (and maybe also scoped to Windows). Updated MRP to work with recent 4.0 betas: MSAA Problem2.zip |
Having the same issue here on Windows 10 with Polaris GPU. Tested on Godot 4.0, 4.0.2, 4.0.3-rc2 2ac4e3b and 4.0.3 5222a99 (with C# support for each of these). MSAA 4x/8x and SSAO:!!! Photosensitive warning !!!unknown_2023.05.23-05.21.mp4MSAA 4x/8x and SSIL:MSAA 4x/8x and SDFGI:MSAA 2x with SDFGI, SSAO and SSIL (simultaneously) looks somewhat normal:Though, comparing to no AA, it causes some fuzzy borders:Related issues: #76258 , #64144 (None of these problems are present when MSAA is disabled. Same glitches occur in the editor too.) |
Able to reproduce the issue on this exact project, though, after importing and opening only FXAA was enabled. MSAA was turned off in it for some reason. (System & engine info in the comment above) |
This is a driver bug specific to AMD Polaris on Windows + MSAA. SSAO is not the only effect that can trigger this. SDFGI can do it too. Many other effects, too. The problem is that the Depth during the Depth Prepass does not match exactly the Depth during the forward pass; despite Godot asking for invariant gl_Position and using the exact code with the same data. A workaround is to disable MSAA. I will try to contact AMD to see if they can fix it. UpdateI was about to hit "Send" in the email when I noticed the artifacts were flashing. I'm still researching it; but it looks like we are missing a lot of barriers pertaining MSAA's depth buffers. |
@ZeroTheOtaku Can you test 4.3.dev2 to see if the issue is resolved there? |
I have tested, and have so far not noticed any artifacts or other visual glitches after several builds, or in the main engine window for the project. I've tried this with all effects that previously caused this problem, plus MSAA x4. There may be more subtle side-effects, I was mostly looking for the very obvious artifacting that covered the entire screen, which seems to be fixed. |
Thanks for checking 🙂 Closing then. |
Godot version
4.0 Alpha 7
System information
Windows 10, Radeon RX560, GLES3/Vulkan
Issue description
MSAA Causing blocks to appear on screen when moving camera and in gameplay
Tried enabling SSAA and still have same problem.
The problem occurs when SSAO is enabled in the world environment and MSAA is enabled
Steps to reproduce
Set MSAA to 4x
Use a World Environment node
Enable SSAO
Move camera/view around till problem occurs (mainly happens when pointing on a top angle view onto objects)
Minimal reproduction project
MSAA Problem.zip
The text was updated successfully, but these errors were encountered: