summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* renderer: drop redundant spammy trace logVaxry2024-07-211-3/+1
|
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-292/+305
| | | | | | | | | | | | | | Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
* session-lock: send `locked` after the lock screen is properly rendered (#6850)Junxuan Liao2024-07-131-0/+3
| | | | | | | | | | The protocol says: > The locked event "must not be sent until a new "locked" frame (either from a > session lock surface or the compositor blanking the output) has been presented > on all outputs and no security sensitive normal/unlocked content is possibly > visible". This helps users ensure the screen is properly locked before suspending the machine. (e.g. with swaylock --ready-fd)
* core: Improve handling of window properties (#6776)MightyPlaza2024-07-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add mWindowProperties modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp * support int values modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * create m_sWindowData modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * simplify some properties modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/managers/KeybindManager.cpp * store multiple values in CWindowOverridableVar modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * use SET_PROP priority for exec rules modified: src/config/ConfigManager.hpp modified: src/desktop/Window.cpp * add default value modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add setprop toggle modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp * add setprop toggle modified: src/debug/HyprCtl.cpp * make window rules functional modified: src/config/ConfigManager.cpp modified: src/desktop/Window.cpp * minor fixes modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp * properly clean layout data modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp * remove newline modified: src/events/Windows.cpp * fixes modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * use CamelCase modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* renderer: don't skip back background on preBlurQueuedVaxry2024-07-021-1/+1
| | | | fixes #6332
* renderer: don't use the surface counter in popup iterationsVaxry2024-06-251-1/+1
| | | | fixes #6663
* renderer: shrink occlusion rect if blur is usedVaxry2024-06-211-3/+9
| | | | | | if we are blurring, we cannot be sure whether the occluded region won't be included in the expanded damage. If it is, we'd get dark shimmers. fixes #6547
* damageRing: move to hyprland implVaxry2024-06-191-6/+10
| | | | A small wlroots utility we were still using.
* core: Move to hyprutils for MathVaxry2024-06-191-9/+7
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* subcompositor/renderer: fixup handling of subsurfaces below the main oneVaxry2024-06-171-1/+11
| | | | some apps (notably vlc 4) place a subsurface below the main surface (which is kinda cursed) but we have to accomodate for that
* vrr: add option to fix mouse breaking vrr (#6483)UjinT342024-06-141-2/+3
| | | | | | | | | | | | | | | * option to fix mouse breaking vrr * skip damage on mouse move * remove this-> & cleanup * add cursor:min_refresh_rate to avoid cursor freezing * run clang-format --------- Co-authored-by: UjinT34 <ujin@uvpn.ru>
* core: fix a few small memory leaks on exit (#6470)Tom Englund2024-06-131-0/+5
| | | | | | | | | | | | | | | | | | | | * renderer: add destructor and destroy event source add destructor and destroy the event source. one less leak on exit of compositor reported by asan. * compositor: cleanup eventloop on exit destruct hyprctl to release the event sources, and properly cleanup the event loop on exit of compositor. less leaks on exit reported by asan * threadmgr: destroy event source on destruction destroy the event source on destruction. * eventloopmgr: reset eventloopmgr on exit aswell reset the eventloopmanager on exit of compositor and free the leaking last idle frame on monitor destroy.
* renderer: properly software lock cursors with zoom_factor (#6434)Ikalco2024-06-121-7/+9
|
* output: remove wl_output globals for mirrored displaysVaxry2024-06-101-1/+4
| | | | ref #6387
* renderer: allow custom uv for surface no-blur passesVaxry2024-06-081-2/+2
|
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-118/+137
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* xwayland: move to hyprland impl (#6086)Vaxry2024-05-251-7/+3
|
* wl-data-device: move to hyprland implVaxry2024-05-141-14/+3
|
* xdg-shell: move to new implVaxry2024-05-141-9/+18
|
* wl_seat: move to hyprland implVaxry2024-05-141-2/+2
|
* cursor: minor fixes for unhiding surfacesVaxry2024-05-141-3/+0
| | | | | | the surface equality check is done in CPointerManager, the one in renderer can be wrong fixes #5975
* renderer: avoid locking during renderingVaxry2024-05-101-9/+8
| | | | | | it can trigger pointermgr to render which fucks up our pass fixes #5998
* presentation-time: move to new implVaxry2024-05-101-2/+10
|
* config: move various cursor-related vars to cursor:Vaxry2024-05-091-4/+4
|
* layer-shell: move to new implVaxry2024-05-091-17/+27
| | | | Also bumps the hw-s dep
* cursor: move to a hyprland implVaxry2024-05-091-50/+22
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* renderer: deny solitary during a session lockVaxry2024-05-061-1/+1
| | | | | | closes #5906 fixes #5899
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-3/+3
| | | | | | | | | | | moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
* output-management: move to new implVaxry2024-05-031-66/+6
|
* sessionLock: call wlr_surface_map/_unmap on the surface manuallyVaxry2024-04-301-1/+1
| | | | | | fixes unmapped subsurfaces etc ref #5816
* session-lock: move to new implVaxry2024-04-301-3/+4
|
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-12/+13
| | | | | Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
* wlr-output-power: move to new implVaxry2024-04-291-0/+4
|
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-42/+42
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* renderer: fix rounding of the size of fractionally scaled monitors (#5748)eriedaberrie2024-04-251-1/+1
|
* renderer: Fix mirrored displays when transformed and preserve aspect ratio ↵Virt2024-04-241-7/+18
| | | | | | | | | | | | | (#5697) * renderer: transform mirror buffer and preserve mirror aspect ratio * renderer: render mirrors directly from offloadFB * renderer: fix formatting * renderer: use monitorMirrorFB again, but properly damage mirrors * renderer: clean mirrors after reload and support cursor zoom mirroring
* renderer: fix safety around sendFrameEventsToWorkspaceVaxry2024-04-231-1/+4
| | | | ref #5718
* renderer: send frame events to apps on empty damage rendersVaxry2024-04-231-2/+25
| | | | fixes #5711
* renderer: avoid rendering frame if finalDamage is emptyVaxry2024-04-231-31/+33
|
* gamma-control: move to new implVaxry2024-04-221-19/+0
|
* style: fix clang-formatVaxry2024-04-211-3/+3
|
* alpha-modifier: add support for protocolVaxry2024-04-211-8/+11
|
* HookSystem: improve callback safetyVaxry2024-04-201-2/+2
|
* renderer: remove border on fullscreen (#5577)MightyPlaza2024-04-141-2/+2
| | | modified: src/render/Renderer.cpp
* renderer: Add dimaround layer rule (#4643)TheOnlyMrCat2024-04-111-0/+7
|
* style: run clang-formatVaxry2024-04-081-1/+1
|
* damageSurface: don't correct smallVec twiceVaxry2024-04-071-7/+1
|
* renderer: avoid double-rendering ls-es on fadingOutVaxry2024-04-041-1/+2
| | | | fixes #5295
* core: fix some crash conditions around workspace ptrs in CWindowVaxry2024-04-031-1/+4
| | | | ref #5402, supersedes #5409
* renderer: render back layer for workspace-less passesVaxry2024-04-031-0/+7
|