summaryrefslogtreecommitdiff
path: root/src/managers/PointerManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* windowrules: allow incrementing window props (#9566)MightyPlaza2025-04-161-0/+1
|
* pass: remove unusued timeline in texpass (#9734)Tom Englund2025-03-261-7/+3
| | | | | remove unused timeline and waitpoint in texpass and especially remove the passing it to renderTextureInternalWithDamage that implicitly converted it to bool. setting discardActive and allowCustomUV
* renderer: only commit hw cursor stuff if needed (#9654)Ikalco2025-03-171-0/+4
|
* managers: Use primary backend for cursor swapchain (#9645)Lee Bousfield2025-03-171-1/+3
|
* config: set no_hw_cursors to auto by default and disable on tearingVaxry2025-02-151-2/+3
| | | | when tearing, updates to the overlay plane may be ignored by the kernel. To avoid the cursor being a slideshow, disable hw cursors
* monitor: report a scheduled frame when tearing on cursor moveVaxry2025-02-151-1/+9
|
* core: avoid .at() and use [] operator (#9347)Tom Englund2025-02-061-1/+1
| | | avoid .at() where it makes sense and use [] operator in loops.
* renderer/internal: stop using box pointersVaxry2025-01-261-3/+3
| | | | in favor of const refs
* pointer: always scale the cpu cursor to the right sizeVaxry2025-01-261-0/+4
| | | | fixes #9003
* core: cleanup header includes (#9088)user1111111111111111111111111111111112025-01-171-0/+4
| | | Cleanup some unneeded includes to speed up compilation
* renderer: use cairo for cpu buffer rendering (#9071)Vaxry2025-01-161-7/+51
| | | Instead of a wonky memcpy which doesn't work when anything non-standard is used (size, pos, transform), just use cairo
* core: use cpu-buffer hw cursors on nvidia by defaultvaxerski2025-01-081-6/+8
|
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-221-1/+10
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* core: Add clang-tidy (#8664)Vaxry2024-12-071-24/+24
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-1/+1
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* pointer: add drm dumb buffers for cursors (#8399)Vaxry2024-11-141-50/+76
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* pointer: map devices across all outputs by default (#8352)JManch2024-11-111-39/+37
|
* internal: more profiling less calls and local copies (#8300)Tom Englund2024-10-301-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compositor: reduce amount of window box copies mousemoveunified can call this very frequently, the cbox copying actually shows up as an impact in such cases, move it down in the scope and only do it when necessery. * core: constify and reference frequent calls profiling shows these as frequent called functions try to reduce the amount of copies with references and const the variables. * pointermgr: remove not used local copy, const ref remove unneded local copies and const ref cursorsize. * inputmgr: reduce amount of calls to vectortowindow the amount of calls to g_pCompositor->vectorToWindowUnified fast ramps up in cpu usage with enough windows existing and moving the mouse, move the PWINDOWIDEAL up and reuse it if its already the same. * protocol: compositor remove unused local copy remove unused local copy of accumulateCurrentBufferDamage and const previousBuffer. * renderer: reduce scope of variables and refactor move a few variables down in their scopes to reduce the amount of calls and copies when not needed, also add one more for loop in renderWorkspaceWindows and store the windows in a vector with weakpointers that should be rendered, this adds a loop but reduces the amount of repeated calls to shouldRenderWindow and also makes the rest of the loops go over way smaller vector when many windows exist.
* pointer: add default auto for no_hw_cursorsVaxry2024-10-261-8/+4
| | | | auto defaults to off on nvidia, on for everyone else. Gotta wait until we do fucking drm_dumb and it fucking works
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-8/+8
| | | | ref #8221
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-26/+8
| | | | | * move monitors to sp * XD
* input: Fix VRR for constrained cursors (#6877)UjinT342024-10-121-6/+37
|
* pointer: expand sw cursor damage boxVaxry2024-10-081-1/+1
| | | | | | fixes #8031 just a bit, rounding errors I guess
* pointermgr: avoid hogging CMonitor refsVaxry2024-09-251-4/+2
|
* pointermgr: Hide hardware cursor on leave (#7806)Vaxry2024-09-181-2/+29
|
* internal: fix initial cursor warping (#7793)Ikalco2024-09-141-39/+1
|
* pointermgr: avoid derefing null outputsVaxry2024-09-111-2/+2
|
* input: move dmps activation to input listeners (#7721)Maximilian Seidler2024-09-091-0/+30
|
* input: move idle notify to input handlers (#7659)Maximilian Seidler2024-09-061-0/+39
| | | | | | | | | * Revert "input: don't emit idle activity when calling simulateMouseMovement (#7649)" This reverts commit ea10592ad3c861ff2ce73ad7785bcb5a45a9e400. * input: move idle notify calls to input event listeners * input: don't post idle activity when keyboard is not enabled
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-10/+10
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-7/+7
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* pointermgr: fix initial cursorwarp (#7286)Tom Englund2024-08-111-4/+44
| | | | | | | change the hook to monitorAdded instead of newMonitor so its finalized in the compositor and added to vMonitors, move the checkDefaultCursorWarp to PointerManager and check for it upon mode change. and also ensure it doesnt go out of bounds by replacing it in the middle again on resolution changes.
* core/surface/buffer: Buffer lock/release fixes (#7110)Vaxry2024-07-311-13/+37
|
* pointer: use preMonitorCommit for resetting render stateVaxry2024-07-301-1/+1
| | | | in DS preRender is not called
* core/surface: fixup a few pointer handling edge casesVaxry2024-07-291-0/+4
|
* virtualptr: map to entire screen if no output is providedVaxry2024-07-291-2/+18
| | | | fixes #6749
* virtualptr: allow binding to outputVaxry2024-07-291-0/+10
|
* pointer/hw: rollback the swapchain on multiple renders without a commitVaxry2024-07-221-4/+17
| | | | fixes the hack
* pointer/hw: extend cursor swapchain to 3Vaxry2024-07-221-1/+4
| | | | otherwise on some commits we draw twice and we draw over the front buffer
* virtual-pointer: fixup virtual pointer warp eventsVaxry2024-07-221-1/+1
| | | | fixes #6976
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-193/+90
| | | | | | | | | | | | | | 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>
* style: fix clang-formatVaxry2024-07-131-2/+1
|
* pointer: update geometry after unplug eventsVaxry2024-07-051-2/+3
| | | | | | fixes #6700 fixes #6740
* pointer: change min cursor padding to 0 (#6027)drendog2024-07-021-1/+1
| | | | | | | | | | | | | * fix: change min cursor padding to 0 * chore: set default hotspot padding to 0 * fix: adjusting clamp after getting closest point to fix getting off limit point * fix: deal with floating point to clamp to prev value * refactor: max coords to vector * fix: remove box closestPoint adjustment due its fix on hyprutils
* pointer: round position when rendering software cursorsVaxry2024-06-251-0/+2
| | | | otherwise the image gets resampled and gets blurry
* pointer: use software rendering when monitor is mirrored (#6587)Lucas Reis2024-06-191-0/+18
| | | | | | | * pointer_manager: add lock/unlock software wrappers that receive the raw pointer * monitor: lock/unlock software pointer rendering when adding/removing mirrored screens * use relative path in includes
* core: Move to hyprutils for MathVaxry2024-06-191-1/+1
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* vrr: add option to fix mouse breaking vrr (#6483)UjinT342024-06-141-1/+1
| | | | | | | | | | | | | | | * 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>
* renderer: properly software lock cursors with zoom_factor (#6434)Ikalco2024-06-121-0/+14
|
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-33/+33
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown