summaryrefslogtreecommitdiff
path: root/src/protocols/Screencopy.cpp
Commit message (Collapse)AuthorAgeFilesLines
* render: refactor class member vars (#10292)davc0n2025-05-051-12/+10
| | | | | * render: refactor class member vars * render: fix clang format
* protocols: refactor class member vars (n-t) (#10273)davc0n2025-05-041-132/+132
|
* protocols: refactor class member vars (types) (#10261)davc0n2025-05-031-5/+5
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-031-1/+1
|
* helpers: refactor class member vars (#10218)davc0n2025-04-301-13/+13
|
* render: properly release rendered buffers (#9807)Ikalco2025-04-301-14/+4
| | | | | | | | | * cleanup eglSync * properly release buffers in renderer * add renderingDoneCallback and use it in screencopy * use static constructor for CEGLSync
* screencopy: don't render cursor when frame doesn't want itVaxry2025-04-291-4/+6
|
* screencopy: support hw cursors while sharing with cursorVaxry2025-04-281-25/+6
|
* compositor: refactor class member vars (#10141)davc0n2025-04-221-2/+2
|
* time: move to stl's clocks and move timerVaxry2025-04-161-6/+8
|
* screencopy: Handle explicit sync failure (#10050)Lee Bousfield2025-04-121-9/+10
|
* Permission Manager: add permission management for screencopy (#9930)Vaxry2025-04-081-18/+47
|
* core: refactor and improve surface commit (#9805)Ikalco2025-04-071-9/+2
| | | | | | | | | | | | | | | | | | | | | | | * 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
* screencopy, render: Use explicit sync for screencopy (#9697)Lee Bousfield2025-03-221-22/+37
| | | | | | | * screencopy, render: Use explicit sync for screencopy * screencopy: Check if explicit sync is enabled * screencopy: Don't require explicit KMS enabled
* renderer: various fixes towards improving gpu calls robustness (#9188)Tom Englund2025-02-081-0/+6
| | | | | | | | | | | | | | 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.
* renderer/internal: stop using box pointersVaxry2025-01-261-2/+2
| | | | in favor of const refs
* protocols: do not destroy screencopy resources before client request (#9048)outfoxxed2025-01-191-4/+0
|
* core: reserve vector sizes as much as we can (#9118)Tom Englund2025-01-191-0/+2
| | | | | 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.
* core: add LIKELY and UNLIKELY macrosvaxerski2025-01-171-9/+8
| | | | helps the compiler optimize
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+4
| | | Cleanup some unneeded includes to speed up compilation
* core: Add clang-tidy (#8664)Vaxry2024-12-071-6/+6
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* screencopy: fix build with legacyrendererVaxry2024-11-051-1/+1
| | | | fixes #8355
* renderer: improve api around new framebuffer changesVaxry2024-11-021-1/+1
| | | | ref #8325
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-8/+8
| | | | | * move monitors to sp * XD
* screencopy: fix screencopy frames not being cleaned up (#8017)Ikalco2024-10-081-5/+8
| | | | | --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-4/+4
| | | now we roll loops at blazing constified speed.
* screencopy: fixup 10-bit sharing via shm on nvidiavaxerski2024-08-231-1/+1
|
* screencopy: fix 10b format r/b flipvaxerski2024-08-181-0/+4
|
* screencopy: nuke unused stuffvaxerski2024-08-181-11/+0
|
* protocols: refactor protocol logging to a macro (#7324)Tom Englund2024-08-151-2/+0
| | | | | | 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.
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-396/+267
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* core: Properly shutdown wl display (#7018)Ikalco2024-07-241-1/+8
| | | | | | | * correctly destroy wayland globals * properly shutdown and cleanup hyprland * appease the nitpick gods and some comments
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-31/+21
| | | | | | | | | | | | | | 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>
* core: Move to hyprutils for MathVaxry2024-06-191-4/+5
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-44/+40
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* screencopy: use a simple renderer for frame passingvaxerski2024-05-231-2/+2
|
* screencopy: don't spam sw cursor locksVaxry2024-05-111-7/+24
|
* cursor: move to a hyprland implVaxry2024-05-091-11/+11
| | | | | | | 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: block screen shader on screencopyVaxry2024-04-031-0/+2
|
* renderer: some fixes for renderModifVaxry2024-04-031-0/+4
|
* renderer: minor fixes to transformationsVaxry2024-03-031-6/+8
|
* screencopy: send full frame damagevaxerski2024-02-271-0/+2
| | | | fixes #4855
* screencopy: avoid dangling client ptrs on client destroyVaxry2024-02-271-0/+9
|
* renderer: nuke lastFrameDamage and rework finalDamageVaxry2024-02-231-10/+11
| | | | this fucking SUCKED
* screencopy: damage entire screen on a no-damage requestvaxerski2024-02-201-1/+1
|
* screencopy: fix invalid damage being used for final copy in dmaVaxry2024-02-191-0/+2
|
* screencopy: fix ~dtor being in monitorRenderResources mapVaxry2024-02-151-1/+1
|
* screencopy: attempt binding framebuffer before gathering formatVaxry2024-02-151-0/+12
|
* screencopy: move monitor verif check to the proper placeVaxry2024-02-071-7/+7
| | | | oops
* screencopy/toplevelexport: sanitize pointers in ::copyFrameVaxry2024-02-071-0/+7
| | | | oopsie~~ >///<