summaryrefslogtreecommitdiff
path: root/src/protocols
Commit message (Collapse)AuthorAgeFilesLines
* protocols/workspace: schedule done after output update (#13743)outfoxxed2026-03-171-2/+7
|
* source: c-f for new clang versionVaxry2026-03-151-1/+1
|
* desktop/rules: fix static rules and content type. (#13725)ItsOhen2026-03-151-2/+10
| | | | Hopefully for the last time in a while. Also a lot easier to add in new static types with the recheck done in window map instead of the rule.
* protocols: fix image-copy-capture stop handling and remove non protocol ↵outfoxxed2026-03-121-12/+3
| | | | | | | | | | errors (#13706) * protocols: send image-copy-capture stopped instead of destroy Fixes a protocol error where the resource was destroyed instead of sending stopped() to the client. * protocols: don't send protocol errors in image-copy-capture for server errors
* protocols/sessionLock: fix crash when monitor is gone during lock surface ↵matjam2026-03-101-4/+13
| | | | | | creation Move monitor signal listener registration inside the existing null guard, and validate output resource and monitor in onGetLockSurface.
* renderer: refactor resources and flags (#13471)UjinT342026-03-075-9/+8
|
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-065-19/+17
| | | Part 1 of the renderer refactors
* screenshare: improve destroy logic of objects (#13554)Ikalco2026-03-054-36/+16
|
* render/cm: add ICC profile pipeline (#12711)Vaxry2026-03-046-450/+26
| | | Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
* hyprpm: fix url sanitization in addVaxry2026-03-011-1/+1
| | | | this could've been used to exec additional commands with hyprpm
* screencopy: fix nullptr deref if shm format is weirdVaxry2026-03-011-0/+7
|
* renderer: better sdr eotf settings (#12812)UjinT342026-02-261-2/+7
|
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-2212-103/+67
| | | | | Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
* protocols: implement image-capture-source-v1 and image-copy-capture-v1 (#11709)Ikalco2026-02-2213-1001/+1113
| | | Implements the new screencopy protocols
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-1/+1
| | | | | Rewrites layouts to be much smaller, and deal with much less annoying BS. Improves the overall architecture, unifies handling of pseudotiling, and various other improvements.
* wayland/output: return all bound wl_output instances in outputResourceFrom ↵Vaxry2026-02-206-24/+46
| | | | | (#13315) ref https://github.com/hyprwm/Hyprland/discussions/13301
* desktop/window: add stable id and use it for foreignVaxry2026-02-191-9/+9
|
* compositor: dont unlock all states on empty commits (#13303)Tom Englund2026-02-181-1/+1
| | | | | | we cant unlock all states on empty commits, at best tryProcess them. for example if a state is locked and waiting for a fence to become readable, and another commit comes in we cant unlock it until the fence has actually signaled.
* commit-timing: avoid use-after-free in timer callback (#13271)Kamikadze2026-02-141-3/+3
|
* protocols: commit and presentation timing fixes (#13174)UjinT342026-02-108-58/+80
| | | | | | | | | | | | | | | | | | | | | | | | | * move commit timing fields to surface state * fix toTimespec init * update sendQueued api * update onPresented api * set zero copy flag * send clock id * move presented calcs inside condition * use only CLOCK_MONOTONIC for commit/presentation timings * fix setSetTimestamp * do not wait for commit timing while tearing * proto config * fix config defaults
* protocols/dmabuf: fix DMA-BUF checks and events (#12965)UjinT342026-02-071-11/+47
|
* proto/shm: update wl_shm to v2 (#13187)EvilLary2026-02-061-0/+1
|
* fifo: miscellaneous fifo fixes (#13136)UjinT342026-02-047-45/+80
| | | | | | | | | | | * LOGM: clang-tidy fix * fix fifo state and scheduling * disable fifo_pending_workaround by default * fix tearing * fix "empty" commit skipping
* buffer: add move constructor and operator to CHLBufferReference (#13157)Tom Englund2026-01-312-0/+20
| | | | add missing move constructor and operator, a lot of churn was done on always copying CHLBufferReference, also add a self copy check.
* renderer: fix frame sync (#13061)UjinT342026-01-225-27/+35
| | | | | | | | | * fix commit timing timer * fix surface state lock/unlock * debug state sync todos * debug solitary vrr
* protocols/toplevelExport: Support transparency in toplevel export (#12824)ArchSav2026-01-201-4/+6
|
* renderer: optimise shader usage further, split shaders and add more caching ↵Tom Englund2026-01-172-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#12992) * shader: split CM rgba/rgbx into discard ones make it branchless if we have no discards. * shader: ensure we dont stall on vbo uv buffer if we render a new texture before the previous was done gpu wise its going to stall until done, call glBufferData to orphan the data. this allows the driver to return a new memory block immediately if the GPU is still reading from the previous one * protocols: ensure we reset GL_PACK_ALIGNMENT reset GL_PACK_ALIGNMENT back to the default initial value of 4 * shader: use unsigned short in VAO loose a tiny bit of precision but gain massive bandwidth reductions. use GL_UNSIGNED_SHORT and set it as normalized. clamp and round the UV for uint16_t in customUv. * shader: interleave vertex buffers use std::array for fullverts, use a single interleaved buffer for position and uv, should in theory improve cache locality. and also remove the need to have two buffers around. * shader: revert precision drop we need the float precision because we might have 1.01 or similiar floats entering CM shader maths, and rounding/clamping those means the maths turns out wrong. so revert back to float, sadly higher bandwidth usage. * update doColorManagement api * convert primaries to XYZ on cpu * remove unused primaries uniform --------- Co-authored-by: UjinT34 <ujint34@mail.ru>
* protocols/cm: Fix image description info events (#12781)UjinT342026-01-132-11/+39
| | | | | | | | | | | | | | | | | | | | | | | * fix image description info events * always send some target primaries * set edid values as target primaries and luminances * init monitor image description * set default luminances for tf * fix BT1886 luminances * fix mastering values and overrides * set maxCLL & maxFALL * typo * add FALL & CLL to preferred HDR image description * fix ref luminances
* renderer/gl: add internal gl formats and reduce internal driver format ↵Tom Englund2026-01-072-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversions (#12879) * format: add internal formats for drm formats cross referenced with weston and added internal formats and types for a lot of missing ones. also added a isFormatYUV helper. * framebuffer: ensure we use right internalformat ensure we use the right internal format to avoid internal driver blitting, also since we only attach the GL_STENCIL_ATTACHMENT we might just aswell only use the GL_STENCIL_INDEX8 to not confuse drivers that we want a depth aswell. * texture: use external on yuv or non linear mods using external makes us use the gpu's internal detiler. and this is makes intel a lot happier then having to format convert it to a linear format internally. * shaders: add external support to CM frag add external support to CM frag, and correct ext.frag typo. * formats: remove duplicates and fix a typo in cm.frag remove duplicate formats and a typo in cm.frag * formats: add swizzle logic to all formats add swizzle logic from weston for all formats and use it in shm texture paths. * format: more format changes use monitor drm format instead of forcing something different. * shader: remove external from cm.frag drivers want this resolved at compiletime cant use both samplerExternalOES and sampler2d and then runtime branch it. * screencopy: swizzle textures in screencopy swizzle textures in screencopy, to get the right colors when copying. * screencopy: restore old behaviour try restore old behaviour before the gles3 format changes. glReadPixels had the wrong format, so i went to far trying to mitigate it. should be like before now.
* protocols/contentType: fix missing destroyVaxry2026-01-051-1/+1
|
* protocols/contentType: fix typo in already constructed checkVaxry2026-01-051-1/+1
|
* core/compositor: immediately do readable if adding waiter fails for ↵Vaxry2026-01-051-1/+4
| | | | scheduling state
* protocols/cm: fix CColorManagementSurface m_imageDescription init (#12734)UjinT342025-12-271-1/+2
|
* render/cm: various updates, remove old protocols (#12693)UjinT342025-12-2710-1175/+189
| | | | | | | | | | | | | * fix named primaries * default to gamma22 * mark mastering primaries as supported * remove xx-cm and frog support * immutable primaries and image descriptions * clang-format
* rules/windowRuleApplicator: fix min/max size effects (#12491)Vaxry2025-12-274-5/+5
| | | fixes #12412
* protocols/xdg-shell: fix crash on null parent in pin (#12694)UjinT342025-12-211-3/+4
|
* window: automatically pin child windows (#12224)ArchSav2025-12-201-1/+10
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-1856-425/+427
|
* protocols/datadevice: avoid double leaveVaxry2025-12-112-2/+11
| | | | ref https://github.com/hyprwm/Hyprland/discussions/12494
* protocols/compositor: fix null deref on unassigned surface image descVaxry2025-12-081-1/+1
| | | | ref #12603
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-0826-70/+79
|
* renderer/cm: higher-quality tonemapping (#12204)Dominick DiMaggio2025-12-071-0/+21
|
* renderer/cm: fix typo on color simage description op (#12551)SAM2025-12-051-2/+3
| | | fix: typo on color simage description op
* renderer: add quirks:prefer_hdr to fix HDR activation for some clients (#12436)UjinT342025-12-031-0/+4
|
* src/protocols/types/DMABuffer.cpp: <sys/ioctl.h> is required for ioctl(), ↵SASANO Takayoshi2025-11-271-1/+1
| | | | not only linux (#12483)
* protocols/lock: fix missing output enter on surface (#12448)Tom Englund2025-11-261-1/+5
|
* buffers: revert state merging (#12461)Tom Englund2025-11-254-36/+14
| | | | | | 8e8bfbb0b146fb1f3234b2a3e3e92b63989e1993 added fifo and merged non buffer states before comitting them, something about certain xwl non buffer commits expects a commit to happend and causes regressions as in low fps.
* compositor: Configurable behavior when window to be focused conflicts with ↵Nikolai Nechaev2025-11-256-18/+23
| | | | | | | | | | fullscreen (#12033) Renames `misc:new_window_takes_over_fullscreen` into `misc:on_focus_under_fullscreen` and implements the following behavior: - By default, when a tiling window is being focused on a workspace where a fullscreen/maximized window exists, respect the `misc:on_focus_under_fullscreen` config variable.
* protocols/workspace: avoid crash on inert outputsVaxry2025-11-251-0/+3
|
* protocols/workspace: fix crash in initial group sendingVaxry2025-11-212-3/+8
| | | | fixes #12419