godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.51k stars 21.26k forks source link

Glow covering screen on Android with single color #86621

Closed warent closed 4 months ago

warent commented 11 months ago

Tested versions

This happens on 4.1, 4.2, and 4.3 (dev snapshot 1)

System information

Godot v4.3.dev1 - Windows 10.0.22621 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3090 Ti (NVIDIA; 30.0.15.1216) - AMD Ryzen 9 5950X 16-Core Processor (32 Threads)

Issue description

Hey folks, I've been having an issue with my game not rendering any 3D viewport / display on Android 13 (Pixel 6 Pro), only 2D Canvases are showing (But not SubViewports).

Attached is a (low resolution) screenshot of the game on Windows showing the game correctly, and then on Android showing a blank color. When the camera moves in Android, the view behind the canvas flickers colors a lot. It seems like the entire view is just a single pixel of light/color. Meanwhile SubViewport in the top-left corner is not rendering anything.

This seems like a bug, but I'm at a loss for troubleshooting steps.

Screenshot_2023-12-28_161021 Screenshot_20231228-161000

Screenshot_2023-12-28_163004 image

Steps to reproduce

Enable Glow

Minimal reproduction project (MRP)

Thanks @etherealxx for creating an MRP https://github.com/godotengine/godot/issues/86621#issuecomment-1885268576

Alex2782 commented 11 months ago

Could you create "Minimal reproduction project"? Then I could compare on my Pixel 4a and maybe debug with Android Studio.

clayjohn commented 11 months ago

I think this is caused by glow on certain devices (pixel 7 reproduces, but pixel 4 doesn't).

warent commented 11 months ago

I think this is caused by glow on certain devices (pixel 7 reproduces, but pixel 4 doesn't).

Thank you, it was the glow. Let me know if I should close this issue or if you want to track/merge it somewhere else

clayjohn commented 11 months ago

I don't think the issue has been reported elsewhere, so let's leave this open

Janblu commented 10 months ago

Can confirm that this issue appears on the Motorola Moto G14 (Android 13)

Update: Turning off glow didn't fix the issue, unless my code reset glow. I'll have to test.

etherealxx commented 10 months ago

Confirmed on Pixel 7 with every rendering methods and this MRP: godot4-3d-snapdragon-bug.zip

Also happening on Godot Android editor when running the scene.

System Information: Godot v4.2.1.stable - Android - Vulkan (Mobile) - integrated Mali-G710 - (8 Threads)

warent commented 10 months ago

Confirmed on Pixel 7 with every rendering methods and this MRP: godot4-3d-snapdragon-bug.zip

Also happening on Godot Android editor when running the scene.

System Information: Godot v4.2.1.stable - Android - Vulkan (Mobile) - integrated Mali-G710 - (8 Threads)

I updated the main post with your MRP, thank you

MitchMakesThings commented 10 months ago

Another confirmation for Pixel 6 (Exported from v4.2.1.stable.mono.official [b09f793f5]) Switching to compatibility renderer works with Glow enabled. Mobile renderer just gives the blank screen with the default world colour (And UI drawn on top) when Glow is enabled.

Disabling glow makes everything work as expected.

KeiMuriKoe commented 9 months ago

Can confirm, on Google Pixel 7 Pro also cause invisible 3D, with Glow - True, in WorldEnviroment.

0xnicholasc commented 7 months ago

I can confirm that this is also impacting Pixel 8; when glow is enabled, the entire 3D scene is replaced by the color of whatever pixel is in 0,0.

Edit: I am using 4.2.2rc3

kuruk-mm commented 7 months ago

Same it is happening to me

Device: Godot Engine v4.2.1.stable.official.b09f793f5 Vulkan API 1.3.219 - Forward Mobile - Using Vulkan Device #0: ARM - Mali-G68

Data to add to the issue:

Alex2782 commented 6 months ago

added to Rendering Issue Triage 2 weeks ago: Priority = High

Is anyone already checking the issue? I might have some time in the next few weeks. No guarantee of success.


Only on Mali-GXXx GPUs and Vulkan API 1.3.xxx ?

My Tests (almost all on Firebase Test Lab) --------------------- **my MRP** (with less nodes): [GlowTest.zip](https://github.com/user-attachments/files/15523757/GlowTest.zip) I have also tried `libVkLayer_khronos_validation` no warnings about this. https://github.com/godotengine/godot/assets/41921395/e81eb418-7b73-4a47-9a40-954a91bdb384 ----------------- ### BUG **Pixel 8 (BUG)** Vulkan 1.3.231 - Forward Mobile - Using Device #0: ARM - Mali-G715 **Pixel 7a (BUG)** Vulkan 1.3.260 - Forward Mobile - Using Device #0: ARM - Mali-G710 **Galaxy A54 5G (BUG)** Vulkan 1.3.219 - Forward Mobile - Using Device #0: ARM - Mali-G68 ------------ ### OK **Pixel 6 (OK)** Vulkan 1.1.177 - Forward Mobile - Using Device #0: ARM - Mali-G78 **Pixel 4a (OK)** Vulkan 1.1.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 618 **Galaxy S23 Ultra (OK)** Vulkan 1.3.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 740 **Samsung Tab A 10.1 (OK)** Vulkan 1.0.61 - Forward Mobile - Using Device #0: ARM - Mali-T830 **realme GT NEO 3 150W (OK)** Vulkan 1.1.177 - Forward Mobile - Using Vulkan Device #0: ARM - Mali-G610 MC6 **Galaxy A51 (OK)** Vulkan 1.1.177 - Forward Mobile - Using Device #0: ARM - Mali-G72 **OnePlus Nord2 5G (OK)** Vulkan 1.1.177 - Forward Mobile - Using Vulkan Device #0: ARM - Mali-G77 MC9 **Motorola G20 (OK)** Vulkan 1.1.131 - Forward Mobile - Using Device #0: ARM - Mali-G52
Alex2782 commented 6 months ago
screenshot ![image](https://github.com/godotengine/godot/assets/41921395/9203ebd8-a374-4f6f-aabe-936d13e6f316)

new MRP: GlowTest.zip

Test on Firebase https://github.com/godotengine/godot/assets/41921395/99b6f508-315a-4219-b359-0d465100021a

I can also reproduce similar issue if rendering/scaling_3d/scale != 1.0

screenshot ![image](https://github.com/godotengine/godot/assets/41921395/25b4c8f3-a424-4ab9-898a-0d13fc114ce5)
akien-mga commented 4 months ago

I confirm the issue on Pixel 7a too. It breaks the Android editor for 3D projects as the whole 3D viewport is grey. Disabling glow in the default preview environment, or disabling the preview environment, works it around.

I would argue we should disable glow in the default preview environment for mobile until this is fixed.

I'll try to test #92817 and see if it solves it for Pixel 7a too.

Alex2782 commented 4 months ago

I would argue we should disable glow in the default preview environment for mobile until this is fixed.

Only on Mali-GXXx GPUs and Vulkan API 1.3.xxx

MitchMakesThings says:

Another confirmation for Pixel 6 https://github.com/godotengine/godot/issues/86621#issuecomment-1885709553

But Pixel 6 with Vulkan 1.1.177 has no problems.

My Tests (almost all on Firebase Test Lab) --------------------- ### BUG **Pixel 8 (BUG)** Vulkan 1.3.231 - Forward Mobile - Using Device #0: ARM - Mali-G715 **Pixel 7a (BUG)** Vulkan 1.3.260 - Forward Mobile - Using Device #0: ARM - Mali-G710 **Galaxy A54 5G (BUG)** Vulkan 1.3.219 - Forward Mobile - Using Device #0: ARM - Mali-G68 ------------ ### OK **Pixel 6 (OK)** Vulkan 1.1.177 - Forward Mobile - Using Device #0: ARM - Mali-G78 **Pixel 4a (OK)** Vulkan 1.1.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 618 **Galaxy S23 Ultra (OK)** Vulkan 1.3.128 - Forward Mobile - Using Device #0: Qualcomm - Adreno (TM) 740 **Samsung Tab A 10.1 (OK)** Vulkan 1.0.61 - Forward Mobile - Using Device #0: ARM - Mali-T830 **realme GT NEO 3 150W (OK)** Vulkan 1.1.177 - Forward Mobile - Using Vulkan Device #0: ARM - Mali-G610 MC6 **Galaxy A51 (OK)** Vulkan 1.1.177 - Forward Mobile - Using Device #0: ARM - Mali-G72 **OnePlus Nord2 5G (OK)** Vulkan 1.1.177 - Forward Mobile - Using Vulkan Device #0: ARM - Mali-G77 MC9 **Motorola G20 (OK)** Vulkan 1.1.131 - Forward Mobile - Using Device #0: ARM - Mali-G52