summaryrefslogtreecommitdiff
path: root/src/render
Commit message (Collapse)AuthorAgeFilesLines
...
* internal: few small monitor improvements (#8890)Ikalco2024-12-291-30/+14
| | | | | | | * remove framesToSkip, its not used anymore * only set drm format when needed after leaving direct scanout * always set drm damage
* pass: scale blur region in ::rendervaxerski2024-12-291-0/+2
|
* core: refactor/improve monitor mode selection (#8804)Ikalco2024-12-282-417/+0
|
* pass: scale blur regions properlyvaxerski2024-12-271-2/+2
|
* pass: improve blur region detectionvaxerski2024-12-251-2/+5
|
* renderer: allow plugins to know what window was rendered in postVaxry2024-12-221-1/+6
|
* debug: add debug:pass for debugging the render passVaxry2024-12-222-2/+30
|
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-2232-727/+1540
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* core: fade in windows when they are brought from invisible workspacesVaxry2024-12-221-1/+1
|
* groups: honor group lock window rule (#8782)Aqa-Ib2024-12-211-0/+1
|
* internal: Make static analysis more happy (#8767)Ikalco2024-12-191-1/+1
| | | | | | | | | * make functions used in 1 file static * fix invalid substr param -1 * give default initializer to borderGradier * move RASSERT from printf to std::print
* internal: remove dead code (#8748)Ikalco2024-12-171-7/+0
|
* opengl: fixup missed /4 in oklab parsingVaxry2024-12-161-1/+1
|
* opengl: fixup invalid ogl uniform readsVaxry2024-12-161-2/+3
|
* core: drop using deques in favor of vectorsVaxry2024-12-161-15/+15
| | | | No point in most of these.
* core: Add clang-tidy (#8664)Vaxry2024-12-0715-87/+61
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* renderer: drop requesting OUT_FENCE_PTRVaxry2024-12-061-9/+1
|
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-039-72/+241
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* renderer: restore discard mode after IME render passVaxry2024-11-281-0/+7
| | | | ref #8555
* 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-172-11/+15
|
* 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
|
* pointer: add drm dumb buffers for cursors (#8399)Vaxry2024-11-142-16/+39
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* 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: don't rely on datarootdir for local shareVaxry2024-11-061-0/+1
|
* groups: add merge_groups_on_groupbar (#8362)Aqa-Ib2024-11-061-1/+7
|
* shadow: fix double premultiplicationVaxry2024-11-051-1/+1
| | | | shader takes straight alpha aaaa
* shaders: improve corner AA in borders shaderVaxry2024-11-053-3/+16
|
* shaders: fixup jagged edges in texture rounded cornersVaxry2024-11-051-4/+7
|
* shadow: add sharp and refactor optionsVaxry2024-11-053-14/+28
| | | | options moved to decoration:shadow:
* 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: safeguard against non-sampleable currentFB in blurMainFbVaxry2024-11-032-0/+11
| | | | fixes #8325
* renderer: improve api around new framebuffer changesVaxry2024-11-024-42/+66
| | | | ref #8325
* renderer: Add a missing texture asset and a user checkVaxry2024-11-014-67/+129
| | | | | | | | 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-308-33/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* group: fix moveWindowIntoGroup (#8297)Aqa-Ib2024-10-301-3/+3
|
* internal: few more marginal optimisations from profiling (#8271)Tom Englund2024-10-281-16/+23
| | | | | | | | | | | | | | | | | * deco: reduce local temporars and function calls profiling shows this is a high used function, reduce the amount of function calls and local temporar copies and also check if we even need to add extents at all in the loop. * popup: optimize bfhelper in popups pass nodes as const reference and reserve the size of the children node vector help reduce the reallocations. * procotol: make compositor bfhelper use const ref use const ref for nodes and reserve second nodes vector size to reduce amount of reallocation needed.
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-272-22/+22
|
* groupbar: set locked color when groups are globally locked (#8257)Ryan2024-10-271-1/+1
|
* internal: optimize cursor move a bit (#8264)Tom Englund2024-10-271-5/+7
| | | | | | | | | | | | | | | | | | | | | * window: inline and const getWindowMainSurfaceBox getWindowMainSurfaceBox gets called a lot of times from deep down from mousemoveunified, profiling mousemoveunified it spends quite a lot of cpu time in here, let the compiler optimize the call to getWindowMainSurfaceBox by inlining and making it const. reducing the overhead. * inputmgr: return early and use std::any_of return early in mousemoveunified to reduce the amount of unnecessery calls to various pointers when not needed, also make isconstrained use std::any_of instead of for loop to use the STL optimized paths with hopes and dreams marginally faster. * decoration: return early, reduce temporar copy return earlier and reduce the temp copies by using one .lock instead of two
* groups: fix swallowing (#8223)Aqa-Ib2024-10-271-5/+2
| | | | | | | | | | | | | * fix swallowing for groups * remove unnecessary check * clang-format * clarify comment * make variables consistent * make aditional variables consistent
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-263-22/+22
| | | | ref #8221
* layersurface: fixup brace styleVaxry2024-10-191-22/+22
|
* layersurface: round geom in arrangeLayerArrayVaxry2024-10-191-1/+3
| | | | fixes #8171