summaryrefslogtreecommitdiff
path: root/src/render/Renderer.hpp
Commit message (Collapse)AuthorAgeFilesLines
* debug/overlay: optimize rendering, cleanup and nicetify (#14097)Vaxry2026-04-161-0/+3
| | | | optimizes the rendering, drops direct cairo, fixes up api. Also improves the visuals etc of the overlay
* renderer: Various CM fixes, part 8 of refactors (#13860)UjinT342026-04-161-1/+4
| | | Part 8 of Ujin's refactors.
* renderer: add a cm settings cacheVaxry2026-04-041-5/+17
|
* renderer: refactor part 7: api fixes (#13631)UjinT342026-03-281-346/+258
| | | | | | | Part 7 of ujin's refactors --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* renderer/deco: add glow decoration (#13862)Vaxry2026-03-271-8/+10
|
* internal: fix relative path header locations (#13650)ItsOhen2026-03-131-13/+13
| | | Or plugins can't build.
* renderer: fix share window projection (#13695)UjinT342026-03-111-0/+1
|
* renderer: refactor gl renderer (#13488)UjinT342026-03-071-109/+140
|
* renderer: refactor projection setting (#13485)UjinT342026-03-071-17/+26
|
* renderer: move m_renderData to renderer (#13474)UjinT342026-03-071-0/+48
|
* renderer: refactor resources and flags (#13471)UjinT342026-03-071-59/+90
|
* renderer: refactor render elements (#13438)UjinT342026-03-071-1/+26
| | | Part 2 of renderer refactors
* renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)UjinT342026-03-061-11/+22
| | | Part 1 of the renderer refactors
* renderer: shader variants refactor (#13434)UjinT342026-03-061-0/+42
| | | Part 0 of renderer reworks.
* protocols: implement image-capture-source-v1 and image-copy-capture-v1 (#11709)Ikalco2026-02-221-4/+7
| | | Implements the new screencopy protocols
* tablet: added option to hide cursor (#12525)fuyu1472025-12-191-0/+1
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-081-13/+12
|
* renderer: add more uniforms to the screen shader (#11986)Mozzarella322025-10-201-2/+7
| | | | | | | | | | | | 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: asynchronously load background tex (#11749)Vaxry2025-09-181-0/+1
| | | | | | | Bumps required hyprgraphics to 0.1.6 --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* syncobj: use rendernode for timelines (#11087)Tom Englund2025-08-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * syncobj: use rendernode for timelines use rendernode for timelines instead of the drmfd, some devices dont support to use the drmfd for this. * opengl: use rendernode if available use rendernode if available for CHyprOpenglImpl * MesaDRM: use the m_drmRenderNodeFD if it exist try use the rendernode we got from AQ if it exist. * linuxdmabuf: use rendernode if available use the rendernode if available already from AQ * syncobj: prefer rendernode over displaynode prefer the rendernode over the displaynode, and log a error if attempting to use the protocol without explicit sync support on any of the nodes. * syncobj: check support on both nodes always check support on both nodes always so it can be used later for preferring rendernode if possible in syncobj protocol. * syncobj: remove old var in non linux if else case remove old m_bDrmSyncobjTimelineSupported from non linux if else case that will fail to compile on non linux. the nodes sets support by default to false, and if non linux it wont check for support and set it to true. * build: bump aq requirement bump to 0.9.3 where rendernode support got added. * flake.lock: update * renderer: glfinish on software renderer software renderers apparently bug out on implicit sync, use glfinish as with nvidia case on implicit paths. * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* disable buffer readability checks on intel (#11515)Tom Englund2025-08-241-0/+2
| | | | | | | | | | | | * dmabuf: disable buffer read check on intel readability checks directly on buffer fds on some intel laptops is broken, see https://gitlab.freedesktop.org/drm/intel/-/issues/9415 * sync: use rvalue ref in addwaiter doonreadable use rvalue reference in addwaiter and doonreadable, because we store the function in the SReadableWaiter a lot of the time, move it into place there when that happends or let it go out of scope after function call.
* internal: Solitary clients with single subsurface & verbose ↵UjinT342025-08-221-1/+0
| | | | | solitary/tearing/DS checks (#11228) Adds more verbose checks for various conditional rendering mechanisms
* renderer: improve zoom in anims (#11453)Vaxry2025-08-161-2/+0
| | | Removes `animations:first_launch_animation` as it's useless now
* renderer: add popup fade-in-out (#11313)Vaxry2025-08-031-0/+3
| | | Adds xdg popup fade-in and fade-out
* config: disable hw on mgpu nvidia by default (#11018)Vaxry2025-07-161-0/+2
|
* session-lock: don't render workspaces when locked (#10865)Maximilian Seidler2025-07-141-0/+1
| | | Avoid rendering the workspace behind if we are locked
* Renderer: Implement new render scheduling (#10936)Vaxry2025-07-081-1/+2
| | | | | | | | | Implements a new render scheduling method, where we triple buffer when necessary. Enabled by default, improves FPS on underpowered devices. --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* config: nuke explicit_sync settingsVaxry2025-06-191-5/+0
| | | | were not used anymore, explicit is on by default
* internal: clean up dead snapshot codeVaxry2025-06-151-3/+2
|
* renderer: render blur on fade out (#10356)Vaxry2025-05-101-2/+10
|
* render: refactor class member vars (#10292)davc0n2025-05-051-20/+20
| | | | | * render: refactor class member vars * render: fix clang format
* render: properly release rendered buffers (#9807)Ikalco2025-04-301-11/+11
| | | | | | | | | * cleanup eglSync * properly release buffers in renderer * add renderingDoneCallback and use it in screencopy * use static constructor for CEGLSync
* layerrules: add abovelock to render above lockscreen (#9793)Virt2025-04-251-1/+1
|
* time: move to stl's clocks and move timerVaxry2025-04-161-23/+24
|
* renderer: disable explicit if aquamarine output doesn't support it (#9396) ↵Anthony Ruhier2025-02-131-1/+1
| | | | | | | | | | (#9398) The explicit settings ignore the aquamarine output.supportsExplicit attribute, which creates glitches on drivers not supporting explicit sync (example: freedreno). If the output has been set as not supporting explicit, disable the explicit settings.
* renderer/internal: stop using box pointersVaxry2025-01-261-1/+1
| | | | in favor of const refs
* input: pass touch events to lock screens (#9129)Junxuan Liao2025-01-251-1/+1
| | | | | * refactor: use weak pointers for session lock surfaces * input: pass touch events to lock screens
* core: move all shared_ptrs from the STL to hyprutils (#9143)Vaxry2025-01-231-1/+1
|
* renderer: Auto enable wide color gamut in HDR mode (#9090)UjinT342025-01-171-1/+0
|
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+1
| | | Cleanup some unneeded includes to speed up compilation
* protocols: allow hyprland-toplevel-export to capture hidden windows (#9041)outfoxxed2025-01-121-1/+1
|
* renderer: Do not set hdr metadata unless needed (#9014)UjinT342025-01-121-0/+1
|
* core: refactor/improve monitor mode selection (#8804)Ikalco2024-12-281-1/+0
|
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-221-7/+10
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* core: Add clang-tidy (#8664)Vaxry2024-12-071-12/+8
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-2/+2
| | | | ref #8221
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-29/+29
| | | | | * move monitors to sp * XD
* renderer: Fix resize artifacts (stretching, bumps) (#7499)Vaxry2024-10-051-16/+17
|
* config: Add a window rule to render while unfocused (#7582)Vaxry2024-08-301-0/+4
|
* renderer: better lockscreen dead behavior (#7574)Vaxry2024-08-291-0/+1
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>