-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
[3.x] [macOS] Disable live resize in multithreaded rendering mode. #81442
Conversation
CC @lekoder if you can test. |
Unfortunately, the test machine is provided to me remotely, and I cannot compile Godot on it. Could you provide a pre-compiled 3.5.2 with this patch for me to test? |
You can download CI artifacts from any PR in the Checks tab: https://github.com/godotengine/godot/pull/81442/checks |
It seems to fix the crashing issue. However, 3.6 beta breaks other things in the project - could we get this backported to 3.5.2 (3.5.3?). |
This PR already has a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be clear, this means game windows using this mode won't be able to resize at runtime, and will require a restart for size change to be taken into account.
Since this seems to be an OpenGL driver bug which Apple is no longer maintaining, it seems to be an acceptable tradeoff to avoid a crash. If anyone wants to look into ways to make window resizing work without crashing in multithreaded mode, feel free to.
Thanks! |
@akien-mga I was under the impression that window resizing worked for me just fine; it just didn't resize the viewport as you dragged the window in realtime, but only after you released the mouse. |
Right, that's maybe what bruvzg meant. If so that sounds even more like a fine tradeoff. |
That's exactly what this PR is disabling (only for multithreaded mode), it was working, but something changed in the macOS, OpenGL is not thread safe by default and enabling thread safe mode will significantly impact performance, so it's not an option, and I have no idea if there's any other way to fix it. |
Cherry-picked for 3.5.3. |
Fixes #81402
Irrelevant for 4.x / Vulkan, 4.x / OpenGL multithreaded mode is crashing in the rasterizer init.