summaryrefslogtreecommitdiff
path: root/src/helpers
Commit message (Collapse)AuthorAgeFilesLines
* renderer: more FP16 fixes (#14070)UjinT342026-05-075-28/+463
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix fp16 blur with invalidation * restore tonemap code * fix fade outs * add sdr compat for unaware surfaces * use a better work space, not linear, only for sdr * fix hl tf -> wp tf * cache workbuffer descriptions * linear not normalised WIP * clear offload fb * CM math * fix includes * use precalculated cm for shadows * inner glow cm * quad cm * fix unmodified copy * codegen * cache color CM * mark blur dirty when CM/DS changes * avoid icc workbuffer * fp16 blur finish hack * fix output hdr luminances * use srgb for mirroring/sharing with fp16 * defaults people --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* layout/scrolling: handle fullscreen manually (#14190)Vaxry2026-05-071-7/+27
| | | Makes scroll handle fullscreen by itself, allowing for fs scrolls.
* windows/focus: add fallbacks when focussing workspaces (#14270)fazzi2026-05-041-4/+1
|
* render: scale background to monitor resolution (#14250)davc0n2026-05-041-7/+10
| | | | | | | | | | | | | * render: scale background to monitor resolution Currently the background is not scaled, e.g. 8k size image always uses ~128Mb of VRAM. We could reduce the consumption for low-end devices and monitors with lower resolution: - ~8Mb for 1080p - ~16Mb for 2k - ~32Mb for 4k * render: use gpu to scale bgtex and fix missing reset on size change
* config/lua: add clear tag api (#14273)Lichie2026-05-032-0/+10
|
* gestures: add live pinch cursor zoom (#14049)Barrett Ruth2026-05-022-7/+29
|
* helpers/systemInfo: extract info fns (#14222)Vaxry2026-04-304-49/+268
|
* splashes: update splashesVaxry2026-04-301-42/+15
|
* monitor: fix centered floating windows off-screen in special workspace (#14203)Zebra27112026-04-301-1/+1
| | | Signed-off-by: Zebra2711 <zebra2711t@gmail.com>
* desktop/window: refactor over fullscreen stateVaxry2026-04-291-1/+1
|
* desktop/window: expand hidden into proper statesVaxry2026-04-291-1/+1
|
* config/lua: add ExpressionVec2, allow using a table for vec2 rules (#14197)Vaxry2026-04-282-1/+55
|
* desktop/windowRule: use variants for storage internallyVaxry2026-04-281-3/+8
| | | | Improves storage: less dynamic parsing, immediate config errors, faster.
* monitor: set format back after failing DS activation (#14168)fazzi2026-04-261-1/+10
| | | | | we do run m_lastScanout.reset(), but m_lastScanout might sometimes not be set. cache format from before attempting DS, and set back to it on activation failure.
* config/lua: init lua config manager, use lua if available (#13817)Vaxry2026-04-266-26/+26
| | | Adds a new lua config manager, which will automatically be used if there is a lua config present.
* errorOverlay: modernize, refactor, use GPU rendering (#14122)Vaxry2026-04-191-5/+5
| | | | | | | Improves the overlay's rendering: - GPU accelerated - supports gradients - wraps - cleaner code a bit
* renderer: Various CM fixes, part 8 of refactors (#13860)UjinT342026-04-167-35/+172
| | | Part 8 of Ujin's refactors.
* notifications: move and small refactor (#14094)Vaxry2026-04-161-5/+6
| | | moves to notification/, and adds a new style manager getter.
* monocle: avoid repeated workspace monitor lock() calls (#14085)Visal Vijay2026-04-161-10/+11
| | | | | | | | | * refactor(monocle): avoid repeated workspace monitor lock() calls * clang-format * cleanup: avoid repeated weak_ptr::lock() calls * style: shorten variable name PMONITORWORKSPACEOWNER to PMONITOR
* monitor: ensure swapchain is updated before mode test (#14065)Visal Vijay2026-04-142-4/+15
| | | | | | | | | | | * monitor: ensure swapchain is updated before mode test * monitor: ensure swapchain update via helper for all mode set paths * monitor: fix formatting * monitor: move swapchain helper to CMonitorState * monitor: move swapchain helper to CMonitorState
* hyprctl: fix lib64 pkgconfig for version-checking (#14051)David2026-04-121-1/+1
| | | | Fedora Linux uses /usr/lib64/ for 64-bit shared libraries. Because of that the pkgconfig dir on Fedora is /usr/lib64/pkgconfig
* egl: move over to use hyprgraphics (#12988)Tom Englund2026-04-052-295/+6
| | | use the hyprgraphics helpers instead.
* internal: silence compiler warnings about unused return values (#13997)Tom Englund2026-04-051-1/+3
| | | | | | | | | | | | | | | | * misc: silence warnings about ignoring return value on reads silence warnings on ignored return values on read() and print an error if it occurs. * misc: silence warnings about ignoring return value on writes silence warnings on ignored return values on write() and print an error where we can, or pass them the maybe_unused attribute. * misc: silence warnings about ignoring return value on pipe silence warnings on ignored return value on pipe(), print an error and exit on failure.
* miscfunctions: reuse monitor pointer instead of repeated calls (#13977)Visal Vijay2026-04-041-2/+3
|
* renderer: skip redundant render-path workPppp11162026-04-041-2/+8
|
* monitor: centralize solitary and scanout eligibility checksPppp11162026-04-044-30/+147
|
* scheduler: keep a strong monitor ref in frame callbacksPppp11162026-04-041-22/+24
|
* refactor: improve readability of monitor rule comparison (#13884)Visal Vijay2026-03-311-14/+20
|
* renderer: refactor part 7: api fixes (#13631)UjinT342026-03-289-39/+270
| | | | | | | Part 7 of ujin's refactors --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* renderer/cm: Support wp-cm-v1 version 2 (#12817)UjinT342026-03-252-10/+16
|
* internal: rewrite deviceNameToInternalString using a single range pipeline ↵Mr. Myxa2026-03-212-7/+13
| | | | (#13806)
* config: cleanup the entire config infrastructure (#13785)Vaxry2026-03-204-154/+143
| | | | Massively refactors the config infrastructure, sorely needed and will be req'd for the lua stuff
* misc: fix missing noreturn attribute for throwError (#13746)Mr. Myxa2026-03-171-1/+1
|
* config/workspacerule: add animation style (#13380)ItsOhen2026-03-131-2/+4
|
* renderer: refactor projection setting (#13485)UjinT342026-03-071-2/+1
|
* renderer: move m_renderData to renderer (#13474)UjinT342026-03-073-9/+10
|
* renderer: refactor resources and flags (#13471)UjinT342026-03-073-23/+64
|
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-063-4/+4
| | | Part 1 of the renderer refactors
* renderer: shader variants refactor (#13434)UjinT342026-03-067-36/+43
| | | Part 0 of renderer reworks.
* render/cm: add ICC profile pipeline (#12711)Vaxry2026-03-045-23/+929
| | | Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
* monitor: damage old special monitor on changeVaxry2026-02-281-0/+1
| | | | ref https://github.com/hyprwm/Hyprland/discussions/13419
* monitor: update pinned window states properly on changeWorkspace (#13441)Vaxry2026-02-281-1/+1
| | | ref https://github.com/hyprwm/Hyprland/discussions/13440
* monitor: keep workspace monitor bindings on full reconnect (#13384)Zynix2026-02-281-11/+25
| | | When all monitors disconnect, non-active workspaces could migrate to the wrong output after reconnect. Preserve workspace ownership and re-apply assigned monitor bindings on connect.
* format: safeguard drmGetFormat functions (#13416)Tom Englund2026-02-281-2/+10
| | | they can return null if not found.
* renderer: better sdr eotf settings (#12812)UjinT342026-02-264-12/+91
|
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-221-8/+8
| | | | | 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-222-4/+8
| | | Implements the new screencopy protocols
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-213-12/+46
| | | | | 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.
* multigpu: fix multi gpu checking (#13277)Tom Englund2026-02-213-1/+27
| | | | | | | | | | | | | | | * multigpu: fix multi gpu checking drmFD() from allocators is not always equal, because we reopen them inside AQ for refcounting, meaning they get duplicated and become their own fds, so checking if fd1 == fd2 ends up wrong. introduce sameGpu in MiscFunctions that checks the actual drmDevice meaning we can now even check if a rendernode is the same gpu as a display node if we want. * multigpu: move sameGpu to DRM namespace move sameGpu out of MiscFunctions to DRM namespace.
* cm: block DS for scRGB in HDR mode (#13262)Dominick DiMaggio2026-02-171-1/+1
|