summaryrefslogtreecommitdiff
path: root/src/managers/ProtocolManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* protocols: add Fifo-v1 and commit-timing-v1 (#12052)Tom Englund2025-11-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * protocols: add Fifo-v1 introduce fifo-v1 * fifo: only present locked surfaces dont present to unlocked surfaces and commit pending states from the fifo protocol. * fifo: cformat cformat * protocols: add committiming and surface state queue introduce CSurfaceStateQueue and commit-timing-v1 * fifo: schedule a frame if waiting on barrier if we are waiting on a barrier the state doesnt commit until the next refresh cycle meaning the monitor might have no pending damage and we never get onPresented to unlock the barrier, moment 22. so schedule a frame. * fifo: properly check monitor intersection check for m_enteredoutputs or monitor intersection if client hasnt bound one yet, and dont fifo lock it until the surface is mapped. * buffer: try to merge states before committing them try to merge states before committing them meaning way less churn and surface commits if a surface sends multiple small ones while we wait for buffer readyness from either fifo locks or simply fences. * buffer: dont commit states past the buffer certain changes are relative to the buffer attached, cant go beyond it and apply those onto the next buffer. * buffer: set the lockmask directly cant use .lock since the state hasnt been queued yet, set the lockmask directly when exporting buffer fence. * fifo: dont fifo lock on tearing dont fifo lock on tearing. * buffer: queue the state directly queue the state directly and use the .lock function instead of directly modify the lockMask on the state. * buffer: revert creating texture at commit time fifo barriers introduces such long wait that upon commit time a race happends with current xdg configure implentation that the buffer and image is actually destroyed when entering commitState, doing it at buffer creation time with EGL_PRESERVED_KHR means it sticks around until we are done. so revert 82759d4 and 32f3233 for now. * buffer: rename enum and lockreasons eLockReason and LOCK_REASON_NONE. * fifo: workaround direct scanout lock workaround cursor commits causing fifo to get forever locked, this entire thing needs to be worked out.
* protocols: implement pointer-warp-v1 (#11469)Ikalco2025-08-291-0/+3
|
* protocols: implement ext-data-control (#11323)Nihal Jere2025-08-151-0/+3
| | | This protocol has superseded wlr-data-control
* protocols: fix presentation time proto version (#11306)UjinT342025-08-021-1/+1
|
* drm: check syncobj timeline support before advertising protocol (#11117)mavonarx2025-07-231-2/+8
| | | | | | | | | | | | Prevents crashes on systems where DRM driver lacks syncobj timeline support (e.g., Apple Silicon with Honeykrisp driver). Applications like Zed and WezTerm would crash with 'Timeline failed importing' when trying to use explicit sync. Fixes #8158 #8803 --------- Co-authored-by: mvonarx <matthias.vonarx@sitrox.com>
* opengl: detect android fence support and disable explicit if it's missing ↵Vaxry2025-07-191-1/+1
| | | | | (#11077) Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
* core: use new typed signals from hu (#10853)outfoxxed2025-07-081-1/+1
|
* protocols: add ext-workspace implementation (#10818)outfoxxed2025-06-261-0/+3
|
* config: nuke explicit_sync settingsVaxry2025-06-191-5/+4
| | | | were not used anymore, explicit is on by default
* protocols: support xdg-shell v7Vaxry2025-06-151-1/+1
| | | | there's nothing special we need to add for this rev
* drm-lease: Add Multi-GPU Support (#10099)Joel-Valenciano2025-06-131-4/+10
|
* protocols: whitelist wp_color_manager_v1 for security_context (#10723)Otto Modinos2025-06-131-0/+1
| | | Now that `wine` (and `proton`) supports Wayland it makes sense to allow the `wp_color_manager_v1` in Flatpak for native HDR without the need for `gamescope`!
* internal: refactor to use empty() (#10599)Kamikadze2025-05-311-1/+1
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-031-1/+1
|
* managers: refactor class member vars (#10242)davc0n2025-05-021-2/+2
|
* helpers: refactor class member vars (#10218)davc0n2025-04-301-14/+14
|
* protocols: add support for xdg-system-bell-v1Vaxry2025-04-291-1/+5
|
* protocols: add Hyprland toplevel mapping implementation (#9775)WhySoBad2025-04-241-0/+4
|
* compositor: refactor class member vars (#10141)davc0n2025-04-221-2/+2
|
* protocols: add xdg_toplevel_tag_v1 supportVaxry2025-04-211-2/+5
| | | | Adds a new windowrule to target windows by xdgTag, xdgtag:
* renderer: add an option to disable cm and auto-skip cm if not necessaryvaxerski2025-03-181-3/+7
| | | | | | fixes #9641 adds render:cm_enabled default true
* protocols: Ensure protocol dtors are called in ProtocolManager dtor (#9521)Ikalco2025-03-031-0/+10
|
* protocols: fix wrong iface for xdg_dialogVaxry2025-02-261-1/+1
| | | | fixes #9498
* protocols: Support wp color management proto (#9444)UjinT342025-02-261-3/+8
| | | Adds support for the recently merged w-p CM protocol alongside the (now deprecated) old CM WIP protocols
* protocols: add version 2 of ext-idle-notify-v1 protocol (#8959)J. J. Ramsey2025-02-111-1/+1
| | | | Signed-off-by: James Ramsey <james.jehiel.ramsey@gmail.com> Co-authored-by: James Ramsey <james.jehiel.ramsey@gmail.com>
* protocols: Support content-type-v1 proto (#9226)UjinT342025-02-021-0/+3
|
* protocols: implement hyprland-ctm-control rev 2 (#9267)outfoxxed2025-02-021-1/+1
| | | | | * protocols: implement hyprland-ctm-control v2 * bump h-p and nix
* protocols: add hyprland_surface_v1.set_visible_region implementation (#9120)outfoxxed2025-01-231-1/+1
|
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-54/+54
|
* protocols: add hyprland_lock_notify_v1 implementation (#9092)Maximilian Seidler2025-01-191-1/+4
|
* core: Add support for HDR and color management protocols (#8715)UjinT342025-01-071-0/+11
|
* protocols: add hyprland_surface_v1 implementation (#8877)outfoxxed2025-01-011-0/+4
|
* protocols: mark primarySelection as not privilegedVaxry2024-11-151-0/+1
| | | | fixes #8479
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-3/+3
| | | | | * move monitors to sp * XD
* protocols: Add support for hyprland-ctm-control-v1 (#8023)Vaxry2024-10-081-0/+3
| | | | | | | | | | | * initial ctm support * flake.lock: update * Meson: bump required versions and add ctm proto --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* security-context: implement protocolVaxry2024-10-061-0/+55
| | | | fixes #7318
* protocolmgr: don't expose the fallback outputVaxry2024-10-051-1/+2
|
* single-pixel-buffer: new protocol implVaxry2024-09-301-0/+2
| | | | fixes #6624
* protocols: destroy new xdgDialog protocol at right time (#7600)Ikalco2024-08-311-0/+1
|
* xdg-dialog: implement new protocolVaxry2024-08-301-0/+2
|
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-1/+1
| | | now we roll loops at blazing constified speed.
* renderer: Explicit sync fixes (#7151)Vaxry2024-08-061-1/+1
| | | | | Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
* protocols: Move globalshortcuts impl (#7102)Ikalco2024-07-301-4/+3
| | | | | | | * move global shortcuts to hyprwayland-scanner * remove wayland-scanner from deps * fix the thing
* protocols: move text-input-v1 to hyprwayland-scanner (#7096)Ikalco2024-07-291-1/+3
| | | | | * move text-input-v1 to hyprwayland-scanner * vro
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-2/+6
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* core: Properly shutdown wl display (#7018)Ikalco2024-07-241-0/+54
| | | | | | | * correctly destroy wayland globals * properly shutdown and cleanup hyprland * appease the nitpick gods and some comments
* wayland/output: avoid sending events to dead outputsVaxry2024-07-221-3/+5
| | | | ref #6835
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-0/+20
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* output: remove wl_output globals for mirrored displaysVaxry2024-06-101-2/+28
| | | | ref #6387
* egl: assume implicit modifiers are available for old driversVaxry2024-06-091-2/+7
| | | | fixes #6367