Hyprland/src
Tom Englund 17e77e0407
core/compositor: make wl_surface::frame follow pending states (#11896)
* compositor: make pending states store frame callbacks

move frame callbacks to pending states so they are only committed in the
order they came depending on the buffer wait for readyness.

* buffer: damage is relative to current commit

ensure the damage is only used once, or we are constantly redrawing
things on state commits that isnt a buffer.

thanks PlasmaPower.

* compositor: move callbacks back to compositor

move SSurfaceStateFrameCB back to compositor in the class
CWLCallbackResource as per request, but still keep the state as owning.

* compositor: ensure commits come in order

if a buffer is waiting any commits after it might be non buffer commits
from the "future" and applying directly. and when the old buffer that
was waiting becomes ready it applies its states and overwrites the
future changes.

move things to scheduleState and add a m_pendingWaiting guard. and
schedule the next pending state from the old buffer commit when done.
and as such it loops itself and keeps thing orderly.
2025-10-06 12:20:04 +01:00
..
config renderer: add render:non_shader_cm and fixes (#11900) 2025-10-02 12:05:54 +02:00
debug debug: fix data race in Debug::log() (#11931) 2025-10-05 16:24:49 +02:00
desktop decoration: reduce virtual calls 2025-09-28 23:20:52 +02:00
devices internal: fix clang-tidy "errors" (#11862) 2025-09-29 13:10:15 +01:00
events rules: fix some monitor rules (#11873) 2025-09-29 20:10:34 +02:00
helpers renderer: add render:non_shader_cm and fixes (#11900) 2025-10-02 12:05:54 +02:00
hyprerror input: Add fully configurable trackpad gestures (#11490) 2025-08-28 11:20:29 +02:00
init core: Add clang-tidy (#8664) 2024-12-07 18:51:18 +01:00
layout internal: fix clang-tidy "errors" (#11862) 2025-09-29 13:10:15 +01:00
managers gestures: fix gesture direction detection (#11852) 2025-09-29 12:29:40 +01:00
pch core: move all shared_ptrs from the STL to hyprutils (#9143) 2025-01-23 21:55:41 +01:00
plugins refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
protocols core/compositor: make wl_surface::frame follow pending states (#11896) 2025-10-06 12:20:04 +01:00
render core/compositor: make wl_surface::frame follow pending states (#11896) 2025-10-06 12:20:04 +01:00
xwayland internal: fix clang-tidy "errors" (#11862) 2025-09-29 13:10:15 +01:00
Compositor.cpp workspaces: fix persistence with no monitor specified (#11807) 2025-09-23 21:08:30 +02:00
Compositor.hpp input: Add fully configurable trackpad gestures (#11490) 2025-08-28 11:20:29 +02:00
defines.hpp core: cleanup header includes (#9088) 2025-01-17 15:21:35 +00:00
includes.hpp core: drop the legacy renderer (#10408) 2025-05-15 10:13:24 +01:00
macros.hpp renderer: reduce a lot of glcalls and cache various states (#10757) 2025-06-25 12:42:32 +02:00
main.cpp exec: Spawn processes as direct children (#11735) 2025-09-23 19:32:48 +02:00
meson.build input: add sticky option for drag_lock (#10702) 2025-06-15 11:45:06 +02:00
SharedDefs.hpp renderer: add eRenderStage::RENDER_POST_WALLPAPER (#11501) 2025-08-22 18:19:00 +01:00
signal-safe.cpp core: Unbreak build on FreeBSD (#8762) 2024-12-18 20:15:44 +01:00
signal-safe.hpp refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
version.h.in hyprpm: add support for minimum versions 2024-04-05 00:46:37 +01:00