godot
godot copied to clipboard
MSAA 2x Breaks Proximity Fade
Tested versions
reproduce on 4.3 Stable
System information
Windows 11 - I3-10105f with RX 6600 Adrenalin 24.9.1
Issue description
Enabling MSAA 2x Breaks Proximity fade
MSAA above 2x works fine, as well as no MSAA.
Possible AMD Driver Issue.
Observed while testing SMAA S2x which requires MSAA 2x (https://github.com/RGDTAB/Godot-SMAA) but happens without SMAA.
Steps to reproduce
Enable MSAA 2x with a Proximity Fade Material in view
Minimal reproduction project (MRP)
Can you reproduce this when using Direct3D 12 or the Compatibility rendering method?
Dx12 Works Fine, Compatibility Proximity fade doesn't render at all.
I've tested this on all 3 GPUs that I have that support Vulkan
RX 6600 - Issue in Vulkan with MSAA 2x, No problems on DX12 GTX 1050 Ti - Issue not Present on either API, or MSAA level combination Quadro K2000 - Issue not Present on either API, or MSAA level combination
Seems like an AMD Driver issue, but I don't have sufficient GPUs to verify this. Should I send a Bug Report to AMD?
Cannot reproduce on Godot 4.4.dev2. Windows 11, RX 6700 XT, driver 24.9.1, intel i5-9600k
Godot v4.4.dev2 - Windows 10.0.26100 - Vulkan (Forward+) - dedicated AMD Radeon RX 6700 XT (Advanced Micro Devices, Inc.; 32.0.12011.1036) - Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz (6 Threads)
Will Test 4.4 Dev 2 on my end
Negative, still happens, though changing resolution scale does on occasion hide the artifacts.
Viewport resolution on my end is 1996x1202
Changed windows to 1080p down from 1440p, and the issue persists, however another observation, moving around the camera may look fine at times Do note that the artifacts seem to be depth related, and thus only show when there's something under the fading object..
I believe I've Figured out the problem.
I've set Optimizations for Windowed Games and VRR off in Windows under Graphics, as well as disabling VRR in Adrenaline and GPU scaling turned off, and when I restarted Godot the issue wasn't there, however changing resolution scale brings it back, however reverting back to 100% resolution scale it typically works fine, but sometimes I have to disable MSAA and reenable it to clear up the artifacts.
This however doesn't seem to work for 4.3 stable..
I've also tested 4.2 stable (as this is before Reverse-Z and Acyclic Render Graph, both of which could have an impact) and the issue is even more significant there.
This likely points at some kind of Vulkan synchronization issue: https://github.com/godotengine/godot/issues/81060
This tweet (https://x.com/SebAaltonen/status/1843265456200888773) made me realize that this issue might be an alignment issue. I don't think we check required alignment specifically for depth textures. If there are any unique requirements, we won't respect them
Dx12 Works Fine, Compatibility Proximity fade doesn't render at all.
I am seeing this issue too. In the editor the shader is full of artifacts and when playing the proximity fade doesn't show at all. The shader works fine with MSAA disabled. This is with the mobile renderer.
Still Reproducible on 4.5 Stable