davc0n
d9cad5e1b6
protocols: refactor class member vars (core) ( #10259 )
2025-05-03 16:02:49 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars ( #10218 )
2025-04-30 23:45:20 +02:00
Ikalco
2ee5118d7a
render: properly release rendered buffers ( #9807 )
...
* cleanup eglSync
* properly release buffers in renderer
* add renderingDoneCallback and use it in screencopy
* use static constructor for CEGLSync
2025-04-30 18:35:25 +02:00
Vaxry
6483f4ec22
screencopy: don't render cursor when frame doesn't want it
2025-04-29 22:02:55 +01:00
Vaxry
c505eb55ff
screencopy: support hw cursors while sharing with cursor
2025-04-28 20:18:02 +01:00
davc0n
241a4935a2
compositor: refactor class member vars ( #10141 )
2025-04-22 15:23:29 +02:00
Vaxry
877fb5b93a
time: move to stl's clocks and move timer
2025-04-16 01:37:48 +01:00
Lee Bousfield
0399e64274
screencopy: Handle explicit sync failure ( #10050 )
2025-04-12 16:38:46 +02:00
Vaxry
260d8e1f71
Permission Manager: add permission management for screencopy ( #9930 )
2025-04-08 19:39:53 +02:00
Ikalco
da86db43d4
core: refactor and improve surface commit ( #9805 )
...
* make CHLBufferReference not a SP anymore
* copy over release and acquire points in CHLBufferReference
* use CHLBufferReference in screencopy and toplevel export
TODO: use CHLBufferReference in direct scanout properly
the only problem is the scanout buffer release timing,
specifically the onBackendRelease mechanism
* cleanup SSurfaceState and surface pending commit tracking
* move surface code from DRMSyncobj, and move acquire to SSurfaceState
* use queue for comitted pending surface states like proto says
"The content update is placed in a queue until it becomes active." - wl_surface::commit
* drop, not release, prev buffer if 2nd buffer wl_surface.attach is sent
"A wl_buffer that has been attached and then replaced by another attach instead of committed will not receive a release event, and is not used by the compositor." - wl_surface::attach
2025-04-07 21:03:27 +02:00
Lee Bousfield
279b06044c
screencopy, render: Use explicit sync for screencopy ( #9697 )
...
* screencopy, render: Use explicit sync for screencopy
* screencopy: Check if explicit sync is enabled
* screencopy: Don't require explicit KMS enabled
2025-03-22 17:01:14 +01:00
Tom Englund
f7fcbe32c9
renderer: various fixes towards improving gpu calls robustness ( #9188 )
...
ensure framebuffer textures are detached and deleted, avoid leaving framebuffers bound when not needed
* render: avoid calling glDeleteProgram on no program
its safe to do so but it adds a bunch of unnecessery lines in apitrace
when tracing. if guard it and return early.
* opengl: ensure texture and buffers are unbound
ensure bound buffers are unbound after use, also detach textures from
framebuffer before deleting it otherwise it will become dangling and
essentially leak.
2025-02-08 01:46:26 +01:00
Vaxry
e951011503
renderer/internal: stop using box pointers
...
in favor of const refs
2025-01-26 15:05:34 +00:00
outfoxxed
086fd7ece8
protocols: do not destroy screencopy resources before client request ( #9048 )
2025-01-19 12:51:42 +00:00
Tom Englund
4da9b7cc5b
core: reserve vector sizes as much as we can ( #9118 )
...
avoid reallocations as much as possible with a few edge cases where the
reservation overshoots a tiny bit. but a few bytes of memory short term
is better used then the overhead of potential reallocation.
2025-01-19 10:38:42 +00:00
vaxerski
b7a3c45269
core: add LIKELY and UNLIKELY macros
...
helps the compiler optimize
2025-01-17 18:56:39 +01:00
user111111111111111111111111111111111
2bad73354a
core: cleanup header includes ( #9088 )
...
Cleanup some unneeded includes to speed up compilation
2025-01-17 15:21:35 +00:00
Vaxry
8bbeee1173
core: Add clang-tidy ( #8664 )
...
This adds a .clang-tidy file for us.
It's not a strict requirement to be compliant, but I tuned it to be alright.
2024-12-07 18:51:18 +01:00
Vaxry
e3882b23d0
screencopy: fix build with legacyrenderer
...
fixes #8355
2024-11-05 09:59:03 +00:00
Vaxry
40081cb330
renderer: improve api around new framebuffer changes
...
ref #8325
2024-11-02 15:26:45 +00:00
Vaxry
f044e4c951
internal: Move CMonitor to SP ( #8178 )
...
* move monitors to sp
* XD
2024-10-19 23:03:29 +01:00
Ikalco
0d70c44253
screencopy: fix screencopy frames not being cleaned up ( #8017 )
...
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-10-08 01:23:48 +01:00
Tom Englund
72c7818ae6
misc: constify the remaining for loops ( #7534 )
...
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
vaxerski
3b663f4afc
screencopy: fixup 10-bit sharing via shm on nvidia
2024-08-23 14:13:49 +02:00
vaxerski
f4045ab8d0
screencopy: fix 10b format r/b flip
2024-08-18 22:57:21 +02:00
vaxerski
bf611fbbf3
screencopy: nuke unused stuff
2024-08-18 22:40:21 +02:00
Tom Englund
12d9901472
protocols: refactor protocol logging to a macro ( #7324 )
...
this avoids the usage of the unique_ptr PROTO::protocol before it has
been constructed incase one wants to log something inside the
constructor itself, move the logging to macros and print file:linenumber
on ERR,CRIT,WARN and classname on the rest of the levels.
2024-08-15 17:16:18 +01:00
Ikalco
ec672b1ab9
protocols: move screencopy and toplevel export to hyprwayland-scanner ( #7065 )
...
* move screencopy and toplevel export to hyprwayland-scanner
* oops
2024-07-27 16:02:02 +01:00
Ikalco
3e543d2ce8
core: Properly shutdown wl display ( #7018 )
...
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
2024-07-24 19:07:36 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
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>
2024-07-21 13:09:54 +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
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
vaxerski
62401d5b3f
screencopy: use a simple renderer for frame passing
2024-05-23 00:42:16 +02:00
Vaxry
8562d38477
screencopy: don't spam sw cursor locks
2024-05-11 22:10:42 +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
d605e47511
renderer: block screen shader on screencopy
2024-04-03 21:35:16 +01:00
Vaxry
efdc1af044
renderer: some fixes for renderModif
2024-04-03 14:09:58 +01:00
Vaxry
cc94123fa7
renderer: minor fixes to transformations
2024-03-03 02:18:06 +00:00
vaxerski
98034fea3c
screencopy: send full frame damage
...
fixes #4855
2024-02-27 14:51:27 +00:00
Vaxry
21f7f32dc9
screencopy: avoid dangling client ptrs on client destroy
2024-02-27 12:23:59 +00:00
Vaxry
8c3613632a
renderer: nuke lastFrameDamage and rework finalDamage
...
this fucking SUCKED
2024-02-23 01:02:32 +00:00
vaxerski
02c9a2d769
screencopy: damage entire screen on a no-damage request
2024-02-20 15:22:54 +00:00
Vaxry
e793f10b8b
screencopy: fix invalid damage being used for final copy in dma
2024-02-19 20:05:51 +00:00
Vaxry
a42b984f51
screencopy: fix ~dtor being in monitorRenderResources map
2024-02-15 02:01:40 +00:00
Vaxry
ef490965a2
screencopy: attempt binding framebuffer before gathering format
2024-02-15 00:59:06 +00:00
Vaxry
a6ccd36147
screencopy: move monitor verif check to the proper place
...
oops
2024-02-07 23:47:14 +00:00
Vaxry
f085ed4454
screencopy/toplevelexport: sanitize pointers in ::copyFrame
...
oopsie~~ >///<
2024-02-07 00:18:47 +00:00
Vaxry
ab66fa430e
screencopy: fix glReadPixels offset
...
fixes #4042
2023-12-05 20:04:53 +00:00
Vaxry
da863459c4
screencopy: fix legacyrenderer builds
...
fixes #4044
2023-12-05 14:59:12 +00:00
Vaxry
68783d904d
screencopy: use buffer format for glReadPixels
...
fixes #4029
2023-12-04 03:52:54 +00:00