summaryrefslogtreecommitdiff
path: root/src/render/Renderer.hpp
Commit message (Collapse)AuthorAgeFilesLines
...
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | overflow (#7216) * framebuffer: avoid gluint overflow GLuint was being initialized to -1 and rolling over to unsigned int max, its defined behaviour but very unnecessery. add a bool and use it for checking if allocated or not. * opengl: avoid gluint rollover -1 rolls over to unsigned int max, use 0xFF instead. * core: big uint64_t to int type conversion there were a few uint64_t to int implicit conversions overflowing int and causing UB, make all monitor/workspaces/windows use the new typedefs. also fix the various related 64 to 32 implicit conversions going around found with -Wshorten-64-to-32
* renderer: Explicit sync fixes (#7151)Vaxry2024-08-061-0/+6
| | | | | Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-1/+1
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* Core: Move to aquamarine (#6608)Vaxry2024-07-211-40/+40
| | | | | | | | | | | | | | 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-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>
* core: fix a few small memory leaks on exit (#6470)Tom Englund2024-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | * 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.
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-8/+11
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* layer-shell: move to new implVaxry2024-05-091-1/+1
| | | | Also bumps the hw-s dep
* cursor: move to a hyprland implVaxry2024-05-091-13/+12
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* output-management: move to new implVaxry2024-05-031-1/+0
|
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-2/+2
| | | | | Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-14/+14
| | | | | | | | | | | | | | | | | * 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: send frame events to apps on empty damage rendersVaxry2024-04-231-0/+1
| | | | fixes #5711
* tearing-control: hyprland impl (#5655)Vaxry2024-04-191-10/+8
| | | | | * tearing: hl impl * format
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-6/+6
| | | | | * refactor workspaces to use ptrs * clang-format
* renderer/animations: Fix various inaccurate damage tracking issues and ↵thejch2024-03-311-2/+2
| | | | offsets (#5297)
* input: add misc:hide_cursor_on_key_pressVaxry2024-03-281-1/+8
| | | | fixes #3045
* layer-shell: render popups above everythingVaxry2024-03-251-1/+1
|
* renderer: forward decl for b_pch=false (#5250)Brett Alcox2024-03-241-0/+1
|
* IME: Refactor and fixup popupsVaxry2024-03-241-1/+1
|
* refactor: move window.hpp to desktop/Vaxry2024-03-201-1/+1
|
* lock: fix red screen issues with multiple monitors (#5100)Maximilian Seidler2024-03-151-1/+1
| | | | | | | | | | | * lock: use uint64_t for iMonitorID * lock: move activateLock to onNewSessionLock * lock: add red screen fade * lock: damage when fading the red screen and delay for screencopy * lock: remove redundant scheduleFrameForMonitor
* refactor: move a few things to desktop/Vaxry2024-02-291-1/+1
|
* renderer: fixup damage_ring rotationVaxry2024-02-191-0/+2
|
* renderer: fix invalid damage accumulation with invalid buffer_ageVaxry2024-02-181-1/+0
| | | | fixes #4670
* renderer: fixup misaligned fsv1 surfaces with uvVaxry2024-01-281-1/+1
| | | | fixes #4548
* deps: update wlrootsVaxry2024-01-271-1/+0
| | | | drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
* internal: minor include fixes and missed formatvaxerski2023-12-291-7/+7
|
* renderer: ignore windowRequestedCursorHidevaxerski2023-12-291-1/+0
| | | | | | ref #4197, thanks @dtop129 co-authored-by: dtop129
* renderer: add occlusion for special workspacesvaxerski2023-12-231-0/+1
|
* renderer: improve cursor hiding infravaxerski2023-12-201-8/+9
| | | | ref #4197
* renderer: cursor hiding logic improvements (#4184)dusanx2023-12-181-6/+8
| | | Co-authored-by: Dusan Popovic <dpx@binaryapparatus.com>
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-6/+3
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* screencopy: fix broken shm copyingVaxry2023-11-301-3/+4
| | | | fixes #4001
* deps: update wlrootsVaxry2023-11-301-12/+14
|
* renderer: nvidia checks and use glFinish on nvidiaVaxry2023-11-251-0/+3
| | | | fixes #3952 #3946
* renderer: Move to a full Hyprland GL rendering pipeline (#3920)Vaxry2023-11-241-13/+34
| | | Also updates wlroots
* Internal: Hyprland box implementation (#3755)Vaxry2023-11-041-3/+3
| | | | | | | * box impl * remove unused operators * missed applyfromwlr
* renderer: use optional for cursor surface storingVaxry2023-10-301-2/+2
| | | | | | because nullptr is a valid surface. fixes #3692
* input: better cursor image infrastructureVaxry2023-10-291-0/+5
| | | | | | Improves handling of cursor images/surfaces Fixes an issue with decos and cursors Fixes #3471
* renderer: optimize render pipeline when there is a solitary clientvaxerski2023-09-291-0/+3
|
* renderer: Tearing implementation (#3441)Vaxry2023-09-281-7/+13
|
* renderer: separate workspace window render logicvaxerski2023-09-041-1/+2
| | | | Makes the logic used to render stuff over the windows (special, popups, ime, lockscreen) unified by yeeting the workspace window logic (which is separate cuz fullscreen windows) into their own funcs. Fixes #2053
* renderer: add canSkipBackBufferClearvaxerski2023-07-201-0/+1
|
* internal: Wrap regions (#2750)Vaxry2023-07-191-3/+4
|
* renderer: add occlusion for back layersvaxerski2023-07-191-2/+5
|
* xwayland: add force_zero_scalingvaxerski2023-06-111-5/+3
|
* Renderer: add init animationvaxerski2023-05-011-0/+3
|
* Render: add cursor_zoomvaxerski2023-04-161-7/+8
|