summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* renderer: fix incorrect early return (#8590)Agent00Ming2024-11-271-1/+1
| | | Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
* renderer: add option to blur IME popups (#8521)Ryan2024-11-231-1/+10
|
* core: workspace-related function cleanup / refactorVaxry2024-11-221-9/+9
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* renderer: fixup blur optimization considitonsvaxerski2024-11-201-1/+1
| | | | fixes #8531
* renderer: simplify blur enabling logicVaxry2024-11-171-8/+14
|
* renderer: don't render unmapped popupsVaxry2024-11-171-2/+2
| | | | fixes #8485
* renderer: add lockdead_screen_delay (#8467)Alexandre Acebedo2024-11-171-4/+5
|
* drm: enable explit out fence in AQ (#8431)UjinT342024-11-151-2/+3
|
* renderer: scaled surfaces could have zero area (#8423)dawsers2024-11-111-5/+5
|
* renderer: minor fixup to window rendering logic (#8359)dawsers2024-11-061-1/+1
| | | Don't render animating windows out of their monitor when they are not moving workspaces
* renderer: add expand_undersized_texturesVaxry2024-11-041-12/+16
| | | | adds an option to disable the texture expansion for textures that are smaller while resizing up
* renderer: Add a missing texture asset and a user checkVaxry2024-11-011-13/+7
| | | | | | | | When an asset is missing, instead of a black screen, render an obnoxious, yet standard, missing texture. Additionally, warn the user assets failed to load. Shoutout to Arch for having their assets broken for months. Fix your shit. I am tired of it, and it's negatively impacting users.
* internal: more profiling less calls and local copies (#8300)Tom Englund2024-10-301-26/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-16/+16
|
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-2/+2
| | | | ref #8221
* layersurface: fixup brace styleVaxry2024-10-191-22/+22
|
* layersurface: round geom in arrangeLayerArrayVaxry2024-10-191-1/+3
| | | | fixes #8171
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-31/+31
| | | | | * move monitors to sp * XD
* renderer: reserve space for error at the bottom if that's setVaxry2024-10-081-5/+12
| | | | ref #8040
* hyprerror: make hyprerror reserve space (#8040)Vaxry2024-10-081-0/+17
|
* protocols: Add support for hyprland-ctm-control-v1 (#8023)Vaxry2024-10-081-0/+5
| | | | | | | | | | | * initial ctm support * flake.lock: update * Meson: bump required versions and add ctm proto --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: Fix resize artifacts (stretching, bumps) (#7499)Vaxry2024-10-051-17/+25
|
* renderer: fix uvBR calculation (#7975)Maximilian Seidler2024-10-031-1/+1
|
* internal: move to hyprutils' scopeguardVaxry2024-09-211-1/+3
| | | | bumps hyprutils dep to 0.2.2
* config: add order rule for layers (#7697)darkwater2024-09-091-0/+4
|
* renderer: minor direct scanout fixes (#7594)Ikalco2024-08-311-3/+6
|
* config: Add a window rule to render while unfocused (#7582)Vaxry2024-08-301-0/+50
|
* presentation-feedback: minor fixupsVaxry2024-08-301-2/+2
|
* renderer: better lockscreen dead behavior (#7574)Vaxry2024-08-291-16/+37
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: fade out windows on silent movesVaxry2024-08-281-6/+15
|
* renderer: ensure buffer format on commit (#7556)Ikalco2024-08-281-0/+1
|
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-44/+44
| | | now we roll loops at blazing constified speed.
* core: make most for loops use const references (#7527)Tom Englund2024-08-261-12/+12
| | | | why not let the compiler optimise things for us at hyprspeeds when we can.
* renderer: pass custom modelines to aqvaxerski2024-08-181-11/+3
| | | | ref #7390
* render: fixup format mismatch after leaving DSvaxerski2024-08-171-0/+4
| | | | fixes #7373
* core: fix data race and a unsigned int rollover (#7278)Tom Englund2024-08-121-5/+5
| | | | | | | | | | | | | | | | | | * keybindmgr: avoid uint rollover on mouse keycode mouse keycode is 0, and the switch case checks for 0 - 8 and rolls over, just return early if keycode is 0. * watchdog: avoid data races in watchdog asan thread sanitizer reported data races in the watchdog from reading and setting the bool variables make them std::atomic bools. also add a atomic bool for the main thread to wait for to avoid data race when reading the config values. * hyprdebug: change non unicode character to name asan created false positives and didnt like this bit, so for the sake of easier debugging rename it to something unicode.
* cursor: make inactive_timeout setting a float (#7268)Walt Bringenberg2024-08-101-1/+1
|
* 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: fixup nvidia driver version checksVaxry2024-08-071-1/+1
|
* renderer: guard layer in renderLayerVaxry2024-08-071-0/+3
| | | | ref #7181
* renderer: Explicit sync fixes (#7151)Vaxry2024-08-061-66/+121
| | | | | Enables explicit sync by default for most platforms `misc:no_direct_scanout` -> `render:direct_scanout`
* core/surface/buffer: Buffer lock/release fixes (#7110)Vaxry2024-07-311-7/+7
|
* internal: refactor fullscreen states (#7104)MightyPlaza2024-07-311-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor fullscreen modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/LayerSurface.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/desktop/Workspace.hpp modified: src/events/Windows.cpp modified: src/helpers/Monitor.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/DwindleLayout.hpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/layout/MasterLayout.hpp modified: src/managers/KeybindManager.cpp modified: src/managers/KeybindManager.hpp modified: src/managers/input/IdleInhibitor.cpp modified: src/managers/input/InputManager.cpp modified: src/managers/input/Swipe.cpp modified: src/protocols/ForeignToplevelWlr.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/config/ConfigManager.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/events/Windows.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/Swipe.cpp * fix mapWindow fullscreen modified: src/events/Windows.cpp * fix typo modified: src/desktop/Workspace.cpp * add fullscreenstate modified: src/config/ConfigManager.cpp modified: src/events/Windows.cpp * change syncFullscreen to lower modified: src/config/ConfigManager.hpp * initialize fs state modified: src/desktop/Window.hpp
* output: minor tearing fixesVaxry2024-07-301-5/+2
|
* output: submit damage to kmsVaxry2024-07-301-0/+2
|
* renderer: use session lock alpha for rendering lacking locksvaxerski2024-07-271-2/+3
|
* renderer/layer-shell: use explicitly set exclusiveEdge (#6984)Sam Lakerveld2024-07-221-3/+4
|
* surface: fixup logical damage size calculationsVaxry2024-07-221-1/+1
| | | | fixes #6618
* compositor: ignore setting surface scanout if DS is disabledVaxry2024-07-211-1/+1
|
* renderer: drop redundant spammy trace logVaxry2024-07-211-3/+1
|