mirror of https://github.com/godotengine/godot
There were two edge cases in the frame waiting logic (aka manual frame throttling or emulated vsync) which would cause the editor to stall in one way or another: 1. Waiting right after starting the editor would cause a deadlock between both threads until something happened in the Wayland event queue, in turn unblocking the Wayland thread and kickstartin the whole thing; 2. Starting the editor (and probably other long-loading stuff) without low consumption mode would suspend the window and never commit its surfaces, thus never signaling the compositor that we want frame events. |
||
|---|---|---|
| .. | ||
| dynwrappers | ||
| SCsub | ||
| detect_prime_egl.cpp | ||
| detect_prime_egl.h | ||
| display_server_wayland.cpp | ||
| display_server_wayland.h | ||
| egl_manager_wayland.cpp | ||
| egl_manager_wayland.h | ||
| egl_manager_wayland_gles.cpp | ||
| egl_manager_wayland_gles.h | ||
| key_mapping_xkb.cpp | ||
| key_mapping_xkb.h | ||
| rendering_context_driver_vulkan_wayland.cpp | ||
| rendering_context_driver_vulkan_wayland.h | ||
| wayland_thread.cpp | ||
| wayland_thread.h | ||