Vaxry
6c01b131cb
opengl: detect android fence support and disable explicit if it's missing ( #11077 )
...
Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
2025-07-19 23:36:33 +02:00
Vaxry
5bfe6dc703
config: disable hw on mgpu nvidia by default ( #11018 )
2025-07-16 11:02:20 +02:00
Maximilian Seidler
06fcdbd9c7
renderer: use makeUnique for session-lock render passes ( #11019 )
...
Fixup for a merge conflict introduced by #10865 .
2025-07-14 15:48:50 +02:00
Maximilian Seidler
01971cb6c7
session-lock: don't render workspaces when locked ( #10865 )
...
Avoid rendering the workspace behind if we are locked
2025-07-14 13:13:54 +02:00
Tom Englund
bcb96c5532
presentation: move to unique ptrs
...
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
f5af40afce
renderpass: use unique ptr instead of shared ptr
...
lets use unique ptrs instead of refcounting shared ptr when its not
needed, use rvalue reference to construct in vector directly.
2025-07-10 14:09:00 +02:00
Vaxry
8f948827a6
Renderer: Implement new render scheduling ( #10936 )
...
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 >
2025-07-08 12:41:10 +02:00
Tom Englund
bb958a9e13
pass: overload TexPass constructor
...
overload it with a rvalue to allow us to move the data directly avoiding
an extra copy. because SRenderData is not trivially copyable.
2025-07-07 18:09:34 +02:00
Tom Englund
c75f85098c
renderer: move render calculation behind if case
...
the durationUs is not used unless debug overlay is enabled, lets not
calculate it each call to rendermonitor if not enabled. same with
renderStart.
2025-07-07 18:09:34 +02:00
jmanc3
83c453cb82
plugins: made currentWindow available in RENDER_PRE_WINDOW ( #10957 )
2025-07-07 18:06:42 +02:00
aphelei
e9c5594186
renderer: add mouse zoom animations ( #10882 )
...
Adds animations for the mouse zoom effect.
2025-07-01 11:33:48 +02:00
UjinT34
cf7e3aa448
renderer/cm: Add automatic hdr ( #9785 )
2025-06-23 14:33:09 +02:00
Vaxry
86b5e3bfbc
config: nuke explicit_sync settings
...
were not used anymore, explicit is on by default
2025-06-19 14:58:03 +02:00
Vaxry
54ccf9c6b3
renderer: make lock fail textures dynamically loaded
...
this should reduce idle vram usage by a whopping 16MB, but also might fix the tty unknown issue.
2025-06-19 13:46:42 +02:00
UjinT34
c3894d9288
config/monitor: Add monitor v2 HDR rules ( #10623 )
2025-06-15 12:15:18 +02:00
Vaxry
57d20a1bf6
internal: clean up dead snapshot code
2025-06-15 11:51:27 +02:00
Vaxry
412c7dc7f7
renderer: fixup some missing fadeout cases with special
...
fixes some fadeout missing cases:
- closing last window
- closing above fs
- closing in general
fixes #10283
2025-06-11 17:52:23 +02:00
Vaxry
f7526d6be0
renderer: refuse rendering invalid resolutions
...
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
2025-06-11 16:57:07 +02:00
Kamikadze
69c2b2926e
internal: refactor to use empty() ( #10599 )
2025-05-31 19:49:50 +01:00
Kamikadze
9190443d95
refactor: use std::ranges whenever possible ( #10584 )
2025-05-30 14:25:59 +01:00
Tom Englund
04124988e8
opengl: optimize shaders and reduce unneeded drawcalls ( #10364 )
...
* 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.
2025-05-11 18:36:20 +02:00
Vaxry
390a357859
renderer: use alpha for the lockttytext texture
...
ref #10348
2025-05-11 13:15:03 +01:00
Vaxry
9a87498bb1
renderer: minor damage fixes
2025-05-10 23:53:05 +01:00
Vaxry
f58bb72d3a
renderer: render blur on fade out ( #10356 )
2025-05-10 19:31:26 +02:00
vaxerski
60cd5b7a48
renderer: always render snapshots as 8bit
...
fixes issues with transparent windows on 10b
2025-05-09 22:16:21 +01:00
Tom Englund
6abb5b0c7e
renderer: precompute fullalpha ( #10319 )
...
precompute it once instead of calculating it every single call, was showing
up as a lot of time wasted in profiling.
2025-05-07 19:02:07 +02:00
davc0n
997fefbc11
render: refactor class member vars ( #10292 )
...
* render: refactor class member vars
* render: fix clang format
2025-05-05 23:44:49 +02:00
davc0n
9cd5b25745
protocols: refactor class member vars (u-z) ( #10282 )
...
* protocols: refactor class member vars (u-z)
* protocols: fix clang format
2025-05-04 23:39:00 +02:00
davc0n
adbae0f74d
protocols: refactor class member vars (a-m) ( #10265 )
2025-05-04 00:13:29 +02:00
davc0n
46ac115bd1
protocols: refactor class member vars (types) ( #10261 )
2025-05-03 18:54:50 +02:00
davc0n
d9cad5e1b6
protocols: refactor class member vars (core) ( #10259 )
2025-05-03 16:02:49 +02:00
Vaxry
6f174a9e08
renderer: render fading out floating windows over fs
2025-05-02 00:16:17 +01:00
davc0n
5b3e489108
inputs: refactor class member vars ( #10230 )
2025-05-01 23:57:11 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars ( #10218 )
2025-04-30 23:45:20 +02:00
Ikalco
2ee5118d7a
render: properly release rendered buffers ( #9807 )
...
* cleanup eglSync
* properly release buffers in renderer
* add renderingDoneCallback and use it in screencopy
* use static constructor for CEGLSync
2025-04-30 18:35:25 +02:00
UjinT34
ae1fe860ff
renderer: add render:send_content_type setting ( #9851 )
2025-04-29 22:09:14 +02:00
davc0n
2118440488
windows: refactor class member vars ( #10168 )
2025-04-28 22:25:22 +02:00
Virt
4cf62c114e
layerrules: add abovelock to render above lockscreen ( #9793 )
2025-04-25 16:38:31 +02:00
davc0n
02d7badd15
workspaces: refactor class member vars ( #10167 )
2025-04-25 02:37:12 +02:00
davc0n
0e80ecc534
layers: refactor class member vars ( #10149 )
...
* layers: refactor class member vars
* popups: rename m_WLSurface to m_wlSurface
2025-04-24 20:49:49 +02:00
davc0n
241a4935a2
compositor: refactor class member vars ( #10141 )
2025-04-22 15:23:29 +02:00
davc0n
400dd16072
debug: refactor class member vars ( #10130 )
2025-04-21 20:42:02 +02:00
davc0n
4d14bcb02f
config: Refactor class member vars ( #10124 )
...
* Refactor config classes vars
* Fix clang format errors
2025-04-20 20:39:33 +02:00
fazzi
51afc2c291
ctm: enable fade animation on nvidia driver versions 575 and above ( #10095 )
...
* 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
2025-04-18 21:44:54 +02:00
Vaxry
877fb5b93a
time: move to stl's clocks and move timer
2025-04-16 01:37:48 +01:00
MightyPlaza
ffd6cf65e4
windowrules: allow incrementing window props ( #9566 )
2025-04-16 01:00:40 +02:00
Vaxry
382f0f23f1
pass: revert "remove renderer finalDamage since it's unused ( #9996 )" ( #10039 )
...
This reverts commit 0a7e2cb152
.
2025-04-11 00:34:50 +02:00
Ikalco
0a7e2cb152
pass: remove renderer finalDamage since it's unused ( #9996 )
2025-04-09 17:50:06 +02:00
Ikalco
da86db43d4
core: refactor and improve surface commit ( #9805 )
...
* 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
2025-04-07 21:03:27 +02:00
Vaxry
d1a59ec39e
renderer: render tiled fading out above other tiled windows
...
fixes #9717
closes #9796
2025-04-01 00:25:09 +01:00