summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* renderer/deco: add glow decoration (#13862)Vaxry2026-03-271-0/+1
|
* renderer: guard against null monitor in renderMonitor (#13823)Visal Vijay2026-03-231-0/+2
|
* config: cleanup the entire config infrastructure (#13785)Vaxry2026-03-201-11/+10
| | | | Massively refactors the config infrastructure, sorely needed and will be req'd for the lua stuff
* source: c-f for new clang versionVaxry2026-03-151-17/+17
|
* renderer: fix blockBlurOptimization check (#13685)staz2026-03-131-1/+1
|
* internal: fix relative path header locations (#13650)ItsOhen2026-03-131-11/+11
| | | Or plugins can't build.
* renderer: fix share window projection (#13695)UjinT342026-03-111-1/+4
|
* renderer: fix crash on null blur framebuffer during monitor disconnectmatjam2026-03-101-1/+5
| | | | Guard all m_blurFB dereferences against null. The blur framebuffer is reset during monitor disconnect but layer surface snapshots use a simple render path that skips framebuffer allocation.
* renderer: refactor gl renderer (#13488)UjinT342026-03-071-512/+645
|
* renderer: refactor projection setting (#13485)UjinT342026-03-071-4/+45
|
* renderer: move m_renderData to renderer (#13474)UjinT342026-03-071-77/+79
|
* renderer: refactor resources and flags (#13471)UjinT342026-03-071-74/+337
|
* renderer: refactor render elements (#13438)UjinT342026-03-071-0/+304
| | | Part 2 of renderer refactors
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-061-14/+152
| | | Part 1 of the renderer refactors
* renderer: shader variants refactor (#13434)UjinT342026-03-061-5/+90
| | | Part 0 of renderer reworks.
* renderer: fix crash on mirrored outputs needing recalc (#13534)Vaxry2026-03-031-1/+2
| | | ref https://github.com/hyprwm/Hyprland/discussions/13517
* event: refactor HookSystem into a typed event bus (#13333)Vaxry2026-02-221-22/+21
| | | | | Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
* layout: rethonk layouts from the ground up (#12890)Vaxry2026-02-211-3/+4
| | | | | 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.
* monitor: fix DS deactivation (#13188)UjinT342026-02-041-1/+3
|
* renderer: fix mouse motion in VRR (#12665)Szwagi2026-01-311-26/+26
|
* renderer: fix frame sync (#13061)UjinT342026-01-221-37/+37
| | | | | | | | | * fix commit timing timer * fix surface state lock/unlock * debug state sync todos * debug solitary vrr
* renderer: fix non shader cm reset (#13027)UjinT342026-01-211-1/+1
|
* core: optimize some common branchesVaxry2026-01-161-9/+9
|
* protocols/cm: Fix image description info events (#12781)UjinT342026-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | * 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
* fix: handle fullscreen windows on special workspaces (#12851)John Mylchreest2026-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix: handle fullscreen windows on special workspaces inFullscreenMode() only checked m_activeWorkspace, missing fullscreen windows on special workspaces. This caused crashes and incorrect behavior when fullscreen windows were on special workspaces. Changes: - inFullscreenMode() now checks special workspace first since it renders on top of regular workspaces - Added getFullscreenWindow() helper to safely get fullscreen window from either active or special workspace - Updated callers (shouldSkipScheduleFrameOnMouseEvent, Renderer, getFSImageDescription) to use the new helper - Reset m_aboveFullscreen for layer surfaces when opening, closing, or stealing special workspaces between monitors * test: add special workspace fullscreen detection tests Add tests for the new special workspace fullscreen handling introduced in the previous commit. The tests cover: 1. Fullscreen detection on special workspace - verifies that a window made fullscreen on a special workspace is correctly detected 2. Special workspace fullscreen precedence - verifies that when both regular and special workspaces have fullscreen windows, the special workspace window can be focused when the special workspace is opened 3. Toggle special workspace behavior - verifies that toggling the special workspace off properly hides it and returns focus to the regular workspace's fullscreen window These tests exercise the key code paths modified in the fix: - inFullscreenMode() checking special workspace first - getFullscreenWindow() helper returning correct window - Layer surface m_aboveFullscreen reset on special workspace toggle
* render/cm: various updates, remove old protocols (#12693)UjinT342025-12-271-6/+10
| | | | | | | | | | | | | * 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-271-3/+3
| | | fixes #12412
* tablet: added option to hide cursor (#12525)fuyu1472025-12-191-2/+8
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-181-43/+43
|
* desktop/view: use aliveAndVisible for most things (#12631)Vaxry2025-12-111-4/+5
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-42/+31
|
* renderer/cm: make needsHDRupdate per-monitor state (#12564)byddha2025-12-071-6/+4
| | | Co-authored-by: drzbida <55928036+drzbida@users.noreply.github.com>
* renderer: avoid crash on arrangeLayers for an empty monVaxry2025-12-061-1/+1
|
* desktop: rewrite reserved area handling + improve tests (#12383)Vaxry2025-12-051-30/+5
|
* renderer: fix uv sufrace calc with scales < 1 (#12481)EvilLary2025-11-291-1/+1
|
* compositor: Configurable behavior when window to be focused conflicts with ↵Nikolai Nechaev2025-11-251-4/+5
| | | | | | | | | | 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.
* renderer: stop looping over null texture surfaces (#12446)Vaxry2025-11-241-2/+46
| | | fixes #12445
* animation: improve animations on multi refresh rate monitors (#12418)bea4dev2025-11-231-0/+3
|
* renderer: fix render_unfocusedVaxry2025-11-211-0/+7
|
* windowrules: rewrite completely (#12269)Vaxry2025-11-171-17/+19
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: fix fractional scale artifacts (#12287)bea4dev2025-11-161-2/+6
|
* i18n: init localization for ANR, Permissions and Notifications (#12316)Vaxry2025-11-161-1/+3
| | | | | | | | Adds localization support for en, it, pl and jp --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Aaron Blasko <blaskoazzolaaaron@gmail.com>
* render/cm: change non_shader_cm ignore behavior and set default to it (#12210)UjinT342025-11-071-1/+2
|
* renderer: fix fractional scale artifact (#12219)bea4dev2025-11-061-7/+5
|
* renderer/cm: allow gamma 2.2 instead of sRGB EOTF (#12094)Dominick DiMaggio2025-10-291-2/+3
|
* hyprctl: include color management presets and sdr information (#12019)Filip Mikina2025-10-241-2/+2
| | | | | | * move string parsing for eCMType to its own namespace, similar to how `src/protocols/types/ContentType.cpp` is done * expose cm type and sdr settings in `hyprctl monitors`, format floats to .2f
* renderer: add more uniforms to the screen shader (#11986)Mozzarella322025-10-201-1/+40
| | | | | | | | | | | | These are: pointer_shape from the cursor-shape-v1 protocol prepared for v2, along with left_ptr...bottom_right_corner and killing (Hyprland specific) pointer_shape_previous with pointer_switch_time to blend between shapes pointer_size scaled size as used by the normal cursor pointer_pressed_positions[32] with pointer_pressed_times[32] and pointer_pressed_killed(32 bits) for click/touch animations and if they killed something pointer_inactive_timeout with pointer_last_active to smoothly fade the pointer out pointer_hidden to hide it when the cursor is hidden (excluding by cursor:invisible as this config value can be used to turn off the normal cursor, which is useful when drawing it with the screen shader)
* renderer: clean up surface UV size calcs, fix issues (#12070)Vaxry2025-10-191-7/+22
|
* renderer: round box in damageBoxVaxry2025-10-151-1/+1
|
* renderer: add render:non_shader_cm and fixes (#11900)UjinT342025-10-021-4/+5
|