-
-
Notifications
You must be signed in to change notification settings - Fork 22k
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
Editor crash on project open with specific shader using varyings - NVIDIA GPU on Windows #99587
Comments
Might be related to #99064 |
rendering_device_driver_vulkan.cpp:5325
Could you run without the godot_debug_draw_3d addon, @snowflower ? |
Okay i have finally found the issue, after isolating a material in a scene, that uses a shader that caused the crash. I systematically pruned the shader down to a minimal representation that still triggers the crash. Reproduction steps: Editor will crash 100%
|
Attached is the MRP |
This comment has been minimized.
This comment has been minimized.
rendering_device_driver_vulkan.cpp:5325
@smix8 was able to reproduce the crash on latest
|
CC @godotengine/rendering @godotengine/shaders According to #99587 (comment) the regression was introduced in 4.4.dev3. There's a MRP linked in the OP. |
No crash with 4.4 dev2 but crashes with 4.4 dev3. Bisected to #83360 |
I suspect that this is a duplicate of #76667. Basically the issue is that most GPUs only support 32 varyings. The shader from this issue uses 20 varyings and Godot reserves 14, so together they go over the limit. I think that some drivers are able to repurpose the reserved but unused varyings so they don't have the same issue. As I commented on #76667, the solution will be for us to validate the number of varyings used in user shaders since right now users can exceed the limit and crash their systems without having any feedback that they did something wrong. #64948 is the same issue as well |
On an AMD system with validation layers enabled, I get the following:
|
Tested versions
Not Reproducible in Godot 4.3 Stable
100% Reproducible in Godot 4.4-dev5
System information
Godot v4.4.dev5 - Windows 10.0.22631 - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 Ti Laptop GPU (NVIDIA; 32.0.15.6614) - 12th Gen Intel(R) Core(TM) i9-12900HK (20 threads)
Issue description
Attempted to migrate a functioning project from Godot 4.3 Stable to 4.4.5dev:
After opening project , the editor will crash before it loads the main scene file.
I have tried replacing the main scene file it loads with an empty one (by manually editing project.godot) and it still crashes.
I have deleted the .godot folder forcing a complete reimport of all assets, and updated graphics drivers to the latest version.
The only thing that has changed compared to an earlier reproduction test was the breadcrumb ID in the error output
this is the commandline I used to get this output logged to a text file, since running it in console mode by default gave no info and immediately closed upon crash:
Godot_v4.4-dev5_win64_console.exe --debug --accurate-breadcrumbs --verbose --log-file testlog.txt --editor --path C:\gunlab
relevant section at the end of the log:
Steps to reproduce
reproducible locally using the steps outlined in the issue description.
Minimal reproduction project (MRP)
No MRP available, I test ported some smaller standalone projects using some of the assets and shaders and did not encounter this crash.I am still attempting to reproduce and find an MRP case to upload.Attached is a full verbose output log of the crash.
testlog.txt
MRP: mrpVulkanCrash_4.4-dev6.zip
Bugsquad edit: added MRP from OP comment
The text was updated successfully, but these errors were encountered: