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 mobile: MSAA 3D causes 3D viewport to render black on phone #67204
Comments
Have you tested with 4x MSAA? It may be that your phone doesn't support 2x. In which case we should be showing an error, but it would still be helpful to know if the issue is MSAA in general, or just 2X |
@clayjohn I tested with 4x MSAA on the same phone and this is the result: |
@Calinou In addition, I would like to ask if there is any plan to fix the MSAA problem in Vulkan in the near future. At present, neither OpenGL nor Vulkan supports the opening of MSAA in XR mode. As a result, it is currently not possible to develop games smoothly under XR with godot. |
We don't know why this issue is occurring, so it will take a while to be fixed. |
Is there anything I can do to help with that? |
You could try to use Vulkan validation layers on Android, but it's not guaranteed to give meaningful results if this is the result of a driver bug. |
We've been hitting this, (or something like it), in VR on Meta Quest. tl;dr: The workaround is to put a head-locked Paraphrasing from @BastiaanOlij: The MSAA buffer is only resolving when the transparent subpass is included. If there aren't any transparent objects on the screen, the queue goes straight from sky rendering to tonemapping, without a resolve. |
There's a dedicated issue tracking this now: #81910 |
Just a little context to @chrisnolet remark, it's not Godot skipping the transparent subpass and thus triggering the resolve, Godot is doing this. Its seemingly the Vulkan driver that decides to do this. This is why on PC, it's working fine but on mobile (and possibly only some mobile GPUs), it's failing. |
Ok, things work fine on a Pixel 6 aswell, this may be an issue on Adreno... |
I noticed I forgot to comment here:
|
@darksylinc note that I found a fixed a few errors in MSAA itself here: #83649 It's worth retesting to see if those fixes resolve some of the issues reported here as well. |
Also the issue @chrisnolet mentioned about is fixed through #84169 |
Godot version
v4.0.beta2.official [f8745f2]
System information
Samsung Galaxy S10, Android 12, Qualcomm Snapdragon 855, Adreno 640, Vulkan mobile
Issue description
When running a game on my phone with the Vulkan mobile renderer, MSAA 3D causes the 3D scene to render black. This does not seem to affect CanvasLayers or MSAA 2D, since text is still rendered on screen. This does not happen with FXAA.
MSAA 3D off:
MSAA 3D 2x:
Steps to reproduce
Simply enable MSAA 3D in a mobile game and run it on a phone.
Minimal reproduction project
MobileTest.zip
The text was updated successfully, but these errors were encountered: