summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* session-lock: don't render workspaces when locked (#10865)Maximilian Seidler2025-07-141-46/+57
| | | Avoid rendering the workspace behind if we are locked
* presentation: move to unique ptrsTom Englund2025-07-101-2/+2
| | | | less refcounting, move by rvalue.
* renderpass: use unique ptr instead of shared ptrTom Englund2025-07-101-20/+20
| | | | | lets use unique ptrs instead of refcounting shared ptr when its not needed, use rvalue reference to construct in vector directly.
* Renderer: Implement new render scheduling (#10936)Vaxry2025-07-081-7/+6
| | | | | | | | | Implements a new render scheduling method, where we triple buffer when necessary. Enabled by default, improves FPS on underpowered devices. --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* pass: overload TexPass constructorTom Englund2025-07-071-3/+3
| | | | | overload it with a rvalue to allow us to move the data directly avoiding an extra copy. because SRenderData is not trivially copyable.
* renderer: move render calculation behind if caseTom Englund2025-07-071-6/+6
| | | | | | the durationUs is not used unless debug overlay is enabled, lets not calculate it each call to rendermonitor if not enabled. same with renderStart.
* plugins: made currentWindow available in RENDER_PRE_WINDOW (#10957)jmanc32025-07-071-3/+3
|
* renderer: add mouse zoom animations (#10882)aphelei2025-07-011-4/+5
| | | Adds animations for the mouse zoom effect.
* renderer/cm: Add automatic hdr (#9785)UjinT342025-06-231-17/+30
|
* config: nuke explicit_sync settingsVaxry2025-06-191-27/+0
| | | | were not used anymore, explicit is on by default
* renderer: make lock fail textures dynamically loadedVaxry2025-06-191-4/+12
| | | | this should reduce idle vram usage by a whopping 16MB, but also might fix the tty unknown issue.
* config/monitor: Add monitor v2 HDR rules (#10623)UjinT342025-06-151-4/+1
|
* internal: clean up dead snapshot codeVaxry2025-06-151-46/+2
|
* renderer: fixup some missing fadeout cases with specialVaxry2025-06-111-28/+31
| | | | | | | | | | fixes some fadeout missing cases: - closing last window - closing above fs - closing in general fixes #10283
* renderer: refuse rendering invalid resolutionsVaxry2025-06-111-0/+5
| | | | sometimes a driver fails to assign any reasonable mode in which case we might render 0x0 which will make us crash. Don't do that. Part 1 of #10678
* internal: refactor to use empty() (#10599)Kamikadze2025-05-311-1/+1
|
* refactor: use std::ranges whenever possible (#10584)Kamikadze2025-05-301-5/+5
|
* opengl: optimize shaders and reduce unneeded drawcalls (#10364)Tom Englund2025-05-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | * opengl: remove unnecessery glflush calls glflushing forces the driver to break batching and issue commands prematurely and prevents optimisations like command reordering and merging. many glFunctions already internally glflushes and eglsync creation still has a glflush at end render. so lets reduce the overhead of these calls. * opengl: reduce glUseProgram calls apitrace shows cases where the same program gets called multiple times, add a helper function that keeps track of current program and only call it once on same program. reduces slight overhead. * opengl: use more efficient vertex array object use a more modern vertex array object approach with the shaders, makes it a onetime setup on shader creation instead of once per drawcall, also should make the driver not have to revalidate the vertex format on each call.
* renderer: use alpha for the lockttytext textureVaxry2025-05-111-1/+1
| | | | ref #10348
* renderer: minor damage fixesVaxry2025-05-101-2/+1
|
* renderer: render blur on fade out (#10356)Vaxry2025-05-101-27/+45
|
* renderer: always render snapshots as 8bitvaxerski2025-05-091-3/+3
| | | | fixes issues with transparent windows on 10b
* renderer: precompute fullalpha (#10319)Tom Englund2025-05-071-5/+7
| | | | precompute it once instead of calculating it every single call, was showing up as a lot of time wasted in profiling.
* render: refactor class member vars (#10292)davc0n2025-05-051-161/+160
| | | | | * render: refactor class member vars * render: fix clang format
* protocols: refactor class member vars (u-z) (#10282)davc0n2025-05-041-2/+2
| | | | | * protocols: refactor class member vars (u-z) * protocols: fix clang format
* protocols: refactor class member vars (a-m) (#10265)davc0n2025-05-041-1/+1
|
* protocols: refactor class member vars (types) (#10261)davc0n2025-05-031-2/+2
|
* protocols: refactor class member vars (core) (#10259)davc0n2025-05-031-26/+27
|
* renderer: render fading out floating windows over fsVaxry2025-05-021-2/+2
|
* inputs: refactor class member vars (#10230)davc0n2025-05-011-4/+4
|
* helpers: refactor class member vars (#10218)davc0n2025-04-301-185/+186
|
* render: properly release rendered buffers (#9807)Ikalco2025-04-301-42/+28
| | | | | | | | | * cleanup eglSync * properly release buffers in renderer * add renderingDoneCallback and use it in screencopy * use static constructor for CEGLSync
* renderer: add render:send_content_type setting (#9851)UjinT342025-04-291-5/+8
|
* windows: refactor class member vars (#10168)davc0n2025-04-281-113/+111
|
* layerrules: add abovelock to render above lockscreen (#9793)Virt2025-04-251-1/+18
|
* workspaces: refactor class member vars (#10167)davc0n2025-04-251-41/+41
|
* layers: refactor class member vars (#10149)davc0n2025-04-241-41/+43
| | | | | * layers: refactor class member vars * popups: rename m_WLSurface to m_wlSurface
* compositor: refactor class member vars (#10141)davc0n2025-04-221-34/+34
|
* debug: refactor class member vars (#10130)davc0n2025-04-211-3/+3
|
* config: Refactor class member vars (#10124)davc0n2025-04-201-1/+1
| | | | | * Refactor config classes vars * Fix clang format errors
* ctm: enable fade animation on nvidia driver versions 575 and above (#10095)fazzi2025-04-181-35/+2
| | | | | * ctm: enable fade animation on nvidia driver versions 575 and above * format if statement without braces; handle potential throw when checking for nvidia version file
* time: move to stl's clocks and move timerVaxry2025-04-161-35/+22
|
* windowrules: allow incrementing window props (#9566)MightyPlaza2025-04-161-0/+1
|
* pass: revert "remove renderer finalDamage since it's unused (#9996)" (#10039)Vaxry2025-04-111-3/+5
| | | This reverts commit 0a7e2cb152a11db35aa134fad0919bc939f16bae.
* pass: remove renderer finalDamage since it's unused (#9996)Ikalco2025-04-091-5/+3
|
* core: refactor and improve surface commit (#9805)Ikalco2025-04-071-2/+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
* renderer: render tiled fading out above other tiled windowsVaxry2025-04-011-1/+13
| | | | | | fixes #9717 closes #9796
* renderer: Simplify and fix hdr metadata setting (#9706)UjinT342025-03-241-11/+33
| | | | | * simplify and fix hdr metadata setting * keep incorrect(?) cm skip till #9600
* renderer: fix cm_fs_passthrough (#9698)UjinT342025-03-221-2/+3
|
* screencopy, render: Use explicit sync for screencopy (#9697)Lee Bousfield2025-03-221-21/+21
| | | | | | | * screencopy, render: Use explicit sync for screencopy * screencopy: Check if explicit sync is enabled * screencopy: Don't require explicit KMS enabled