Vaxry
def5fcb212
damageRing: move to hyprland impl
...
A small wlroots utility we were still using.
2024-06-19 18:25:25 +02:00
Vaxry
fb15b7aa2a
core: Move to hyprutils for Math
...
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
2024-06-19 16:20:15 +02:00
Vaxry
1360677478
subcompositor/renderer: fixup handling of subsurfaces below the main one
...
some apps (notably vlc 4) place a subsurface below the main surface (which is kinda cursed) but we have to accomodate for that
2024-06-17 12:42:39 +02:00
UjinT34
a9d53a2252
vrr: add option to fix mouse breaking vrr ( #6483 )
...
* 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 >
2024-06-14 13:45:32 +02:00
Tom Englund
e6d10539af
core: fix a few small memory leaks on exit ( #6470 )
...
* 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.
2024-06-13 12:08:02 +02:00
Ikalco
38132ffaf5
renderer: properly software lock cursors with zoom_factor ( #6434 )
2024-06-12 19:28:52 +02:00
Vaxry
1423707dbe
output: remove wl_output globals for mirrored displays
...
ref #6387
2024-06-10 00:06:42 +02:00
Vaxry
3fb079a2a3
renderer: allow custom uv for surface no-blur passes
2024-06-08 16:16:43 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
Vaxry
addd3e7f1a
xwayland: move to hyprland impl ( #6086 )
2024-05-25 22:43:51 +02:00
Vaxry
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
Vaxry
0cfdde3d1a
xdg-shell: move to new impl
2024-05-14 23:02:24 +01:00
Vaxry
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
Vaxry
4cdddcfe46
cursor: minor fixes for unhiding surfaces
...
the surface equality check is done in CPointerManager, the one in renderer can be wrong
fixes #5975
2024-05-14 16:45:12 +01:00
Vaxry
19186de118
renderer: avoid locking during rendering
...
it can trigger pointermgr to render which fucks up our pass
fixes #5998
2024-05-10 23:38:46 +01:00
Vaxry
a7e23d2f1e
presentation-time: move to new impl
2024-05-10 02:38:54 +01:00
Vaxry
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
Vaxry
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
Vaxry
ed411f53bd
cursor: move to a hyprland impl
...
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
Vaxry
a8a04c746b
renderer: deny solitary during a session lock
...
closes #5906
fixes #5899
2024-05-06 02:24:11 +01:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ( #5883 )
...
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.
2024-05-05 17:16:00 +01:00
Vaxry
8a2269272b
output-management: move to new impl
2024-05-03 18:08:04 +01:00
Vaxry
70ebc3add3
sessionLock: call wlr_surface_map/_unmap on the surface manually
...
fixes unmapped subsurfaces etc
ref #5816
2024-04-30 21:59:07 +01:00
Vaxry
90e1411315
session-lock: move to new impl
2024-04-30 16:34:09 +01:00
Vaxry
5edc32930d
layerSurface: refactor/move to a memory-safe impl
...
Makes all the pointers smart to avoid memory issues
Refactors layerSurface code to live inside desktop/layersurface
2024-04-30 02:41:27 +01:00
Vaxry
33e0bb1478
wlr-output-power: move to new impl
2024-04-29 01:38:24 +01:00
Vaxry
bca7804bb6
internal: Window storage rework - part 1 ( #5762 )
...
* Window storage rework - part 1
* format
* remove useless include
* fix pch
* format
* fix crash in dwindle
* fix vram leak
* prefer .expired() for bool checks
2024-04-27 12:43:12 +01:00
eriedaberrie
faa9017043
renderer: fix rounding of the size of fractionally scaled monitors ( #5748 )
2024-04-25 18:52:49 +01:00
Virt
9fe409800b
renderer: Fix mirrored displays when transformed and preserve aspect ratio ( #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
2024-04-24 16:29:41 +01:00
Vaxry
d119513749
renderer: fix safety around sendFrameEventsToWorkspace
...
ref #5718
2024-04-23 21:15:37 +01:00
Vaxry
a2366f78f0
renderer: send frame events to apps on empty damage renders
...
fixes #5711
2024-04-23 16:08:54 +01:00
Vaxry
cf3596a96d
renderer: avoid rendering frame if finalDamage is empty
2024-04-23 12:29:01 +01:00
Vaxry
741c75d907
gamma-control: move to new impl
2024-04-22 18:21:03 +01:00
Vaxry
8afdb8403b
style: fix clang-format
2024-04-21 21:29:37 +01:00
Vaxry
f587c3e0ba
alpha-modifier: add support for protocol
2024-04-21 21:21:22 +01:00
Vaxry
4ad739ec63
HookSystem: improve callback safety
2024-04-20 20:16:42 +01:00
MightyPlaza
0634aaeac6
renderer: remove border on fullscreen ( #5577 )
...
modified: src/render/Renderer.cpp
2024-04-14 00:16:26 +01:00
TheOnlyMrCat
47e5b41fea
renderer: Add dimaround layer rule ( #4643 )
2024-04-11 12:41:18 +01:00
Vaxry
63e3668529
style: run clang-format
2024-04-08 15:33:02 +01:00
Vaxry
7d989f2cf0
damageSurface: don't correct smallVec twice
2024-04-07 22:25:34 +01:00
Vaxry
ec2cc79c65
renderer: avoid double-rendering ls-es on fadingOut
...
fixes #5295
2024-04-04 22:43:57 +01:00
Vaxry
10146f5ec5
core: fix some crash conditions around workspace ptrs in CWindow
...
ref #5402 , supersedes #5409
2024-04-03 20:42:38 +01:00
Vaxry
64964c4e3b
renderer: render back layer for workspace-less passes
2024-04-03 14:28:15 +01:00
Vaxry
efdc1af044
renderer: some fixes for renderModif
2024-04-03 14:09:58 +01:00
Vaxry
347b839034
workspaces: add visible flag
2024-04-03 10:09:48 +01:00
Vaxry
ef23ef60c5
Workspace/core: Refactor workspace storage ( #5380 )
...
* refactor workspaces to use ptrs
* clang-format
2024-04-02 20:32:39 +01:00
thejch
800dbf71b0
renderer: Fix rendering when swiping workspaces ( #5367 )
...
* fix rendering on swiping
* add alpha check
* fix floating fs check
2024-04-01 16:16:18 +01:00
thejch
16a9c16d9f
renderer/animations: Fix various inaccurate damage tracking issues and offsets ( #5297 )
2024-03-31 02:14:26 +01:00
Vaxry
0869f65b0b
input: add misc:hide_cursor_on_key_press
...
fixes #3045
2024-03-28 02:07:06 +00:00
vaxerski
93d0511471
layershell: update render pos and size in arrange
...
fixes #5258
2024-03-27 16:30:08 +00:00