f27471fbd8
Before of this patch, as explained in the usual commented-wall-of-text-longer-than-the-actual-patch-itself™, due to the multithreaded nature of the Wayland thread, it was possible to commit a surface while the renderer was doing stuff, which was _very_ wrong. Initially the consequences of such a sin weren't obvious but, now that explicit synchronization is becoming more and more common, we can't commit a buffer randomly without basically guaranteeing a nasty, nasty crash (and we should have avoided commits altogether in the first place to ensure atomic surface updates). We now only trigger a commit _in the main thread_ when low processor usage mode is on _and_ if we know that we won't be rendering anything as, due to its intermittent nature, it makes "legacy" (pre xdg_wm_base v6) frame callback based suspension quite annoying. |
||
---|---|---|
.. | ||
dynwrappers | ||
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 | ||
SCsub | ||
wayland_thread.cpp | ||
wayland_thread.h |