-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
[macOS] Shader failure at startup leaves Project Manager black #62548
Comments
Do you have the same issue with earlier alpha builds or is it specific to alpha11? |
I was running alpha10 previously without (this) issue. |
Same issue on an M1 Mac Mini. I'll try to bisect the issue, but latest master work fine for me, so the problem could be in the release and packaging side. |
That's interesting. I just tried latest master and had the same issue. |
@Kev What compilation options are you using? |
|
(Trying to see if I can get a bisect done on my lunch break, at the moment) |
Yeah the docs are a bit outdated, it's Edit: Made a PR to update it: godotengine/godot-docs#5898 |
Seems to be when it regressed, at least according to a local bisect (side note - envious of the M1 users in the thread, this would have been much quicker not on my aging Intel laptop :) ). |
That's #62467, CC @RandomShaper. |
I think there are 2 issues here.
I can reproduce 1 when I make changes to the scene shader that fail to compile. Previously, only the element with the failing shader failed to render. Now the editor won't load if any shader fails to render. |
FWIW, I found that simply commenting out the ERR_FAIL_COND_V_MSG "failed finding interface variable" and stopping writable booming from the nullderef on interface_var was enough to get the launcher rendering again on my system on master. |
I've found the issue. It's related to Vulkan < 1.2. I'm working on a solution. |
PR submitted. Please clear shader cache before trying it! |
That reminds me, is shader cache scoped on a per-version basis? I'd be inclined to say each patch version or different development build should use a different shader cache location. |
I was thinking the same. Right now, shader binary data version number is only changing when the structures change, but not when the logic to fill them do. Whenever the latter happens we may force cache invalidation by raising the number. Maybe we could split (via bit shifts) the current integer into major (for real structural changes) and minor (just for forcing invalidation if there's some reason to rebuild the shader cache). |
How to do it? |
Delete |
Didnt help. I also tried fresh master recompiled and alpha build from downloads. Black screen window and this error repeats many times:
|
The Godot bug is fixed, but now you're being bitten by a MoltenVK (rooted in SPIRV-Cross) bug: powervr-graphics/Native_SDK#67 Probably something has changed recently in the Godot shader that now triggers the ill path. I'll check it |
What's the source of MoltenVK you are using? IIRC swizzling is an optional feature and might be disabled at compile time. Try installing Vulkan SDK from https://vulkan.lunarg.com/sdk/home#mac, and compiling Godot with statically linked MVK (build with |
i updated Vulkan and tried to build with this command:
this library file exists: |
|
Sorry for the delay in replying to the thread, but just to confirm that the merged PR fixed it for me. Thanks for the quick turn-around. |
Godot version
4.0-alpha11
System information
macOS 12.4 MacBook Pro Intel(R) Iris(TM) Plus Graphics 655
Issue description
Firing up alpha 11 gives me a black window (other than the title bar). Capturing stdin/stderr gives:
Repeated a few tens of thousands of times.
I assume this must be particular to my system or it would have been noticed before the alpha went out, and I didn't see any other reports, please let me know what more information I can usefully give.
Steps to reproduce
Launch Godot
Minimal reproduction project
No response
The text was updated successfully, but these errors were encountered: