-
-
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
Canvas shaders with uniforms crash mobile renderer on Android, depending on order #82602
Comments
Tested release 4.2.1, still crashes. |
https://vulkan.gpuinfo.org/listreports.php?devicename=Google+Pixel+2+XL Which Android version do you have? |
Android version 11. |
@merachefet Could you also try this project? (comment) Google Pixel 2 XL is perfect to narrow down the problem, I have a Pixel 4a, Vulkan API version identical and without problems. Pixel 2 XL vs Pixel 4a |
On 4.2.1, pressing Compute successfully gives the result [2, 4, 6, 8, 10, 12, 14, 16, 18, 20], and pressing Add ShaderMaterial crashes. I don't know what I'm looking at, but Googling 8fc203f72276cff568aecfb05c6306 from the signature thingy in the stack trace gives one result. Apparently the ANGLE project at Google investigated this crash in a game called Rope Hero Vice Town, labelled it as a WontFix bug in the Vulkan driver, and removed a a command from a test for Pixel 2 XL. I installed Rope Hero Vice Town, and there were no immediate issues. Also ran the 3DMark Vulkan test, no issues. |
Godot Shader will be converted to GLSL (i think), soon I'll try to create a debug app with logcat output to check how Godot Engine uses GLSL. Then we can compare our Google Pixels to see if the GLSL code is identical. |
Godot version
v4.1.1.stable.official [bd6af8e]
System information
Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 2060 (NVIDIA; 31.0.15.3623) - Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz (4 Threads)
Issue description
Rendering a Sprite2D with a canvas_item shader that has uniforms declared, followed by a canvas_item that has no uniforms (including the default unassigned shader) is crashing the mobile renderer in Android on my Google Pixel 2 XL.
Maybe it's trying to apply the uniforms from the previous draw call to the next one? Something in the rendering state isn't getting reset properly.
The compatibility renderer works fine, and so does the mobile renderer in the editor on desktop.
The crash in ADB:
Steps to reproduce
Minimal reproduction project
UniformTestProject.zip
The text was updated successfully, but these errors were encountered: