Yuxuan Shui
c738400058
backend: clarify what clone_image does
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-02-06 12:56:55 +00:00
Maxim Solovyov
eb39426b08
backend: gl: inherit image's inner properties in the gl_image_decouple function
...
Image decouple should keep all the image properies from the source
image, so shader must be copied. And there are also some internal
properties what should be inherited but wasn't.
In particular this prevents images from losing their shaders when
alpha is applied.
Fixes #1174
2024-02-06 12:54:59 +00:00
Yuxuan Shui
bbc657e4bc
Merge pull request #984 from absolutelynothelix/fix-binding-root-back-pixmap
...
fix binding the root background pixmap in case of depth mismatch
2024-02-02 10:44:10 +00:00
Maxim Solovyov
839a101527
Merge pull request #1176 from Reith77/next
...
Update README.md (Fedora Build Dependencies)
2024-02-02 10:32:56 +03:00
Reith
5c640ac452
Update README.md
...
Updated README.md to include xcb-util-devel package for fedora
2024-02-02 12:17:42 +05:30
Maxim Solovyov
4a79e7b777
render: fix binding the root background pixmap in case of depth mismatch
...
fix the same issue in the legacy backends, see the previous commit for
details. this commit also removes the x_validate_pixmap function because
it was used only in the get_root_tile function and the fix pretty much
implies and embeds it.
2024-02-02 02:04:45 +03:00
Maxim Solovyov
a655730e49
picom: fix binding the root background pixmap in case of depth mismatch
...
if the root background pixmap's depth doesn't match the root window's
depth, find a suitable visual for the root background pixmap's depth and
use it instead of the root window's visual
2024-02-02 02:04:35 +03:00
Maxim Solovyov
4401666cfb
x: add the x_get_visual_for_depth function
...
it returns the first found visual for the given depth
2024-02-01 02:31:29 +03:00
Maxim Solovyov
90f5f4ca29
fix a bunch of typos in comments
2024-01-31 06:09:28 +03:00
Yuxuan Shui
c1b4ede06e
Merge pull request #1172 from yshui/nvidia-suspend
...
workaround for a NVIDIA driver bug, fixes #1168
2024-01-30 22:44:01 +00:00
Yuxuan Shui
238c3cc833
vblank: reset SGI_video_sync scheduler if it's getting nonsense
...
If resetting fails, set a flag so all future schedule calls will fail.
Fixes #1168
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-30 22:41:03 +00:00
Yuxuan Shui
0638de5c56
Update CHANGELOG.md
...
On a second thought, the `corner-radius-rules` is a user noticeable
behavioral change, it should be more prominent.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-30 22:40:19 +00:00
Yuxuan Shui
fdbcd15975
backend: fix clang warning
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 23:57:11 +00:00
Yuxuan Shui
bacdb919c7
Update CHANGELOG.md
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 23:56:30 +00:00
Yuxuan Shui
733113c691
Merge pull request #1171 from absolutelynothelix/corner-radius-rules-only
2024-01-29 23:53:24 +00:00
Yuxuan Shui
14a345a817
vblank: make init fallible
...
Improve error handling in sgi_video_sync_scheduler_init a bit.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 22:11:01 +00:00
Yuxuan Shui
5fba210ad6
vblank: make schedule fallible
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 22:07:04 +00:00
Yuxuan Shui
1bfb129985
backend: don't choose SGI_video_sync vblank if opengl is not enabled
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 21:02:36 +00:00
Maxim Solovyov
8ca66f8a00
win: allow corner-radius-rules without corner-radius
...
check if there is an override in corner-radius-rules even when
corner-radius is 0.
2024-01-29 23:16:51 +03:00
Yuxuan Shui
f3bdd01dc8
vblank: don't use symbols from backend/gl/glx.h
...
sgi video sync runs in a separate thread, we don't want to have
potential races between threads.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 17:52:44 +00:00
Yuxuan Shui
71e29c4128
Add .direnv to .gitignore
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-29 17:44:18 +00:00
Yuxuan Shui
606844c4bb
Update CHANGELOG.md
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-28 21:44:19 +00:00
Yuxuan Shui
702e30df4a
Update nix flake
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-22 16:51:41 +00:00
Yuxuan Shui
d87dd41f4c
win: make sure window's client_win can't be XCB_NONE
...
This is a follow up to 81d137a3cc and
bug #704 . Basically a window will have a `XCB_NONE` as `client_win` if its
previous client_win detached and then the window itself is immediately
destroyed. Because the window is destroyed we couldn't call
`win_recheck_client` so its `client_win` will remain `XCB_NONE`.
However, it turns out we have a convention of setting `client_win` to
the window itself if windows that don't have a client window. So make
sure this convention is followed even for destroyed windows.
Doesn't really fix anything, just to make sure an invariant holds.
Related: #704
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 19:58:29 +00:00
Yuxuan Shui
ce205d1591
win: add more debug logs for window updates
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 19:26:20 +00:00
Yuxuan Shui
4c4df9b918
Update CHANGELOG.md
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 19:26:00 +00:00
Yuxuan Shui
56da153f1c
Update copyright
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 17:35:18 +00:00
Yuxuan Shui
81d137a3cc
core: fix debug window check in paint_preprocess
...
Fixes #704
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 17:27:05 +00:00
Yuxuan Shui
6e3c86226b
core: improve debug log formatting around paint_preprocess
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-21 17:26:46 +00:00
Yuxuan Shui
197b4bd396
Update CHANGELOG.md for v11 release
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-20 17:12:34 +00:00
Yuxuan Shui
4c34944d76
Update CHANGELOG.md
...
I forgot to mention the priviledge needed for real-time scheduling.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-18 14:18:58 +00:00
Yuxuan Shui
a73ca2dc8d
Merge pull request #1162 from yshui/deprecations-11
2024-01-15 13:41:30 +00:00
Yuxuan Shui
1b8d321c45
Update CHANGELOG.md
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 22:51:09 +00:00
Yuxuan Shui
30e37dbf09
Update CHANGELOG.md
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 17:10:20 +00:00
Yuxuan Shui
dc2d7b2876
options: use of respect-prop-shadow is now an error
...
Deprecated in v8.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 17:06:34 +00:00
Yuxuan Shui
5e119123a7
options: use of sw-opti is now an error
...
Deprecated in v6, we forgot to remove it.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 17:04:58 +00:00
Yuxuan Shui
6d4eaec811
options: remove -F
...
Deprecated in compton, in distant history.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 16:58:56 +00:00
Yuxuan Shui
eb3a58a6b0
Add a CHANGELOG.md
...
The intention is we update this file as PRs are merged, so the workload
when making a new release is reduced.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 16:50:47 +00:00
Yuxuan Shui
3390494bfe
Bump version number
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 15:53:31 +00:00
Yuxuan Shui
148e61a0b2
Merge pull request #1156 from yshui/pacing-fixes
2024-01-14 15:46:24 +00:00
Yuxuan Shui
d8f303761b
core: reset msc counter if it went backwards
...
Otherwise we might be repeatedly hitting this condition and spam the
warning.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2024-01-14 15:41:41 +00:00
Yuxuan Shui
496452cfce
Merge pull request #1157 from absolutelynothelix/fix-segfaults-when-homeless
2023-12-22 10:59:55 +00:00
Maxim Solovyov
cacb45fbcd
core: fix segfaults when the HOME environment variable is not set
2023-12-22 13:26:32 +03:00
Yuxuan Shui
b368072e12
Merge pull request #1002 from tryone144/fix/use-effective-texture-size-for-corner-radius
2023-12-20 10:48:14 +00:00
Yuxuan Shui
359d004b99
core: disable frame pacing when vsync is disabled
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:19 +00:00
Yuxuan Shui
6e0bad0034
core: make missing dpms extension non-fatal
...
We are not using it for anything at the moment, and it is breaking CI.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:16 +00:00
Yuxuan Shui
a28e221b83
driver: choose sgi_video_sync scheduler for NVIDIA
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:15 +00:00
Yuxuan Shui
b582d2989e
core: add debug options to override the vblank scheduler
...
Useful for debugging.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:14 +00:00
Yuxuan Shui
db9b808bfb
vblank: add GLX_SGI_video_sync based scheduler
...
Present extension based scheduler doesn't work well on NVIDIA drivers.
GLX_SGI_video_sync is less accurate, but is rumoured to work. See
[kwin's usage](https://invent.kde.org/plasma/kwin/-/blob/master/src/
backends/x11/standalone/x11_standalone_sgivideosyncvsyncmonitor.cpp)
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:12 +00:00
Yuxuan Shui
db6ed75b60
core: don't always delay schedule_render to vblank
...
It's kind of dumb anyway. If we get damage event right after a vblank
event, we would waste the whole vblank.
Instead improve the frame scheduling logic to target the right vblank
interval. This only affects smart_frame_pacing anyway.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2023-12-19 23:27:11 +00:00