summaryrefslogtreecommitdiff
path: root/src/render
Commit message (Collapse)AuthorAgeFilesLines
...
* desktop/view: use aliveAndVisible for most things (#12631)Vaxry2025-12-111-4/+5
|
* opengl: default initialize m_capStatus (#12619)Tom Englund2025-12-111-1/+1
| | | | | | | ubsan reports under wonky situation a runtime error of uninitialized value lookups because of m_capStatus isnt initialized. so default initialize it. OpenGL.cpp:3331:26: runtime error: load of value 190, which is not a valid value for type 'bool'
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-0810-100/+84
|
* renderer/cm: make needsHDRupdate per-monitor state (#12564)byddha2025-12-071-6/+4
| | | Co-authored-by: drzbida <55928036+drzbida@users.noreply.github.com>
* renderer/cm: higher-quality tonemapping (#12204)Dominick DiMaggio2025-12-074-25/+32
|
* 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: remove unnecessary assert from renderRoundedShadow (#12540)jmanc32025-12-041-1/+0
|
* 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-254-17/+21
| | | | | | | | | | 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-175-30/+31
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* groupbar: fix rounding logic for edge cases (#12366)Jochim2025-11-171-7/+9
|
* renderer: fix fractional scale artifacts (#12287)bea4dev2025-11-161-2/+6
|
* i18n: init localization for ANR, Permissions and Notifications (#12316)Vaxry2025-11-162-2/+5
| | | | | | | | 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>
* deco/groupbar: add groupbar blur (#12310)Jochim2025-11-161-37/+24
|
* render/cm: change non_shader_cm ignore behavior and set default to it (#12210)UjinT342025-11-071-1/+2
|
* cm: follow preferred srgb eotf for screencopy (#12230)Dominick DiMaggio2025-11-071-1/+3
|
* 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-293-5/+16
|
* pass/surface: check for LS size anim for misaligned fractionalVaxry2025-10-271-1/+2
|
* EGL: minor egl changes (#12132)Tom Englund2025-10-251-5/+5
| | | | | | | | | | | * opengl: use EGLint and we dont have to cast data use EGLint in the attrib array and we dont have to cast the resulting data. * opengl: add linear to correct vector drop empty check, what if we get mods that isnt linear. then it wont be added, also add it to the result vector that we actually return.
* screencopy: fix missing XBGR2101010 format with screencopy_force_8b (#12125)ccos892025-10-251-1/+1
| | | | | | | | | Adds missing DRM_FORMAT_XBGR2101010 to screencopy_force_8b that leads to "no more input formats" Pipewire error for monitors set to 10-bit color depth/where currentFormat is XBGR2101010. Fixes implementation of #11623 Fixes hyprwm/xdg-desktop-portal-hyprland#270 Fixes hyprwm/xdg-desktop-portal-hyprland#102
* 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-205-22/+200
| | | | | | | | | | | | 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: add 1fv and 2fv uniform support (#12080)Mozzarella322025-10-182-7/+29
|
* renderer: add cursor:zoom_disable_aa for controlling AA on zoom (#12025)Vaxry2025-10-151-2/+3
|
* renderer: round box in damageBoxVaxry2025-10-151-1/+1
|
* compositor: make wl_surface::frame follow pending states (#11953)Tom Englund2025-10-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* core/compositor: revert make wl_surface::frame follow pending states (#11896)Vaxry2025-10-061-3/+0
| | | | | | | This reverts commit 17e77e0407bebd5d24521012ee1d04b156d6b9f4. Reverted due to severe performance degradation due to accumulating frame callbacks
* core/compositor: make wl_surface::frame follow pending states (#11896)Tom Englund2025-10-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* renderer: add render:non_shader_cm and fixes (#11900)UjinT342025-10-021-4/+5
|
* renderer: fix popup fadeout blur (#11756)Vaxry2025-10-023-13/+22
| | | popups dont get no xray
* renderer: optimize border drawcalls (#11891)Vaxry2025-10-011-22/+18
| | | calculates the specific border region to avoid sampling on regions where the border cannot be at
* internal: fix clang-tidy "errors" (#11862)UjinT342025-09-291-4/+4
|
* deco: reduce virtual calls in drop shadowTom Englund2025-09-281-10/+12
| | | | | | | | damageEntire() in CHyprdDropShadow is pretty much called per window per frame, instead of all the PWINDOW-> virtual calls, store pos and size once and move the duplicated code to a lambda. reducing it a bit. shows up in profiling as minor waste.
* opengl: move from unordered_set to arrayTom Englund2025-09-282-10/+34
| | | | | | | setCapStatus is a a heavy used function in hot rendering paths, it shows up in profiling as using a bit of cpu just because of unordered_set hashing etc, move to a enum and array and cache only the heavily used ones.
* decoration: reduce virtual callsTom Englund2025-09-284-10/+15
| | | | | | | | this shows up as top contender in idle cpu usage, because decos in animations keeps locking weak pointers to shared pointers per window per frame when its not really needed, use weakpointers all the way and it drops to a bottom contender. marginal gains in the big picture. but gains is gains.
* renderer: disable anti-aliasing on cursor:zoom_factor (#6135) (#11828)João V. Farias2025-09-251-0/+10
| | | use nearest-neighbor filtering for cursor scaling to avoid blurriness
* renderer: fix uv scaling detection (#11789)Vaxry2025-09-221-2/+2
|
* renderer: fix uv calculations once and for all (#11770)Vaxry2025-09-212-41/+46
| | | fixes synchronization of ackd sizes, fixes wrong xdg stuff
* renderer: fix inconsistent border thickness for roundingPower < 2 (#11752)REVO92025-09-192-8/+14
|
* renderer: asynchronously load background tex (#11749)Vaxry2025-09-185-76/+151
| | | | | | | Bumps required hyprgraphics to 0.1.6 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: fix clang-formatVaxry2025-09-171-1/+1
|
* renderer: clamp blur:passes 1-8Vaxry2025-09-152-5/+10
| | | | | | fixes some UB and dumb things ref #11707
* windows: fix no decorate not disabling borders (#11673)ItsOhen2025-09-131-1/+2
|
* render/OpenGL: fix compilation for 32bit systems (#11667)Florian "sp1rit2025-09-111-1/+1
|