Commit Graph

422 Commits

Author SHA1 Message Date
Arda Atci
2417084628 Merge remote-tracking branch 'yshui/next' into next 2024-01-22 22:34:48 +03:00
Yuxuan Shui
148e61a0b2 Merge pull request #1156 from yshui/pacing-fixes 2024-01-14 15:46:24 +00:00
Arda Atci
7336e4142b Merge branch 'yshui:next' into next 2023-12-20 22:34:54 +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
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
3838b45e2c core: simplify pacing logic a bit more
Also, vblank event callback should call schedule_render to queue renders
instead of starting the draw timer directly, so that the CPU time
calculation will be correct.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-19 23:27:06 +00:00
Yuxuan Shui
827380e1e3 core: simplify the pacing logic a little bit
Make it simpler to stop requesting PresentCompleteNotify when there is
nothing to render.

Related: #1079

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-19 22:36:28 +00:00
Yuxuan Shui
e76cf43f02 backend: gl: adjust some log levels
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-19 11:30:42 +00:00
Arda Atci
c178be2874 Merge remote-tracking branch 'yshui/next' into next 2023-12-19 13:07:09 +03:00
Bernd Busse
fd9c52d0ee backend: xrender: force 32bit ARGB visual when adding rounded corners
Force the temporary picture to a 32-bit ARGB visual when masking it for
rounded corners to keep the transparency information. Otherwise, windows
with a 24-bit visual would get black corners instead.

Authored-by: Bernd Busse <bernd@busse-net.de>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-19 05:04:09 +00:00
Yuxuan Shui
e92745671b compiler: use C23 auto when available
One annoying thing is C23 still defines auto as a storage class despite
it now being used for type inference. As a consequence we must write
"auto const" instead of the more natural "const auto".

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-17 08:55:23 +00:00
Yuxuan Shui
47bb825b2c backend: glx: don't return false from a function returning void *
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-12-17 08:51:20 +00:00
Yuxuan Shui
e90757a6ec Merge pull request #1107 from absolutelynothelix/name-default-backend-operation-implementations-consistently 2023-12-16 22:03:14 +00:00
Yuxuan Shui
a26e4df85d Merge pull request #1105 from absolutelynothelix/backend-init-target-window-parameter 2023-12-16 17:28:24 +00:00
Yuxuan Shui
8b7c3ffb8b Merge pull request #1124 from absolutelynothelix/premultiply-shadow-color 2023-12-16 17:27:22 +00:00
Arda Atci
b1fce63a26 closes #26 2023-11-24 00:02:49 +03:00
Arda Atci
b73e6a0c45 Merge branch 'yshui:next' into next 2023-11-10 22:11:03 +03:00
Maxim Solovyov
a6b4e285f8 backend: xrender: don't leak the mask picture in the blur function 2023-10-17 01:10:27 +03:00
Maxim Solovyov
e07b1d7a12 backend: gl: convert the shadow color to the premultiplied format
to respect the globally set glBlendFunc and thus get the correct and
expected result
2023-09-24 01:16:15 +03:00
Maxim Solovyov
44800ed845 backend: remove default implementations of obsolete backend operations 2023-09-24 01:15:42 +03:00
Maxim Solovyov
bd3134efd9 backend: xrender: remove obsolete commented out backend operations 2023-09-24 01:15:42 +03:00
Maxim Solovyov
8bf82857c4 backend: name default backend operation implementations consistently 2023-09-24 01:15:42 +03:00
Maxim Solovyov
156423c010 backend: dummy: change type of ps parameter to session_t in dummy_init 2023-09-24 01:14:55 +03:00
Maxim Solovyov
825cc563e1 backend: egl: simplify usage of the target window parameter in egl_init 2023-09-24 01:14:55 +03:00
Maxim Solovyov
249f681857 backend: make target window a parameter of the init backend operation
to address a todo
2023-09-24 01:14:55 +03:00
Arda Atci
2b74392ec7 Merge pull request #27 from yshui/next
Merged with picom upstream
2023-09-20 00:04:29 +03:00
Arda Atci
367643e98a Merge branch 'yshui:next' into next 2023-08-16 05:24:15 +03:00
Maxim Solovyov
7713432927 backend: xrender: don't use root picture format in backend_xrender_init
use root visual and depth directly instead
2023-08-03 01:27:27 +03:00
Maxim Solovyov
599594465c backend: address some clang-tidy issues 2023-07-22 00:22:02 +03:00
Maxim Solovyov
dc8def0492 backend: gl: address some clang-tidy issues 2023-07-22 00:16:31 +03:00
Maxim Solovyov
8eff87f2a3 backend: glx: address some clang-tidy issues, run clang-format 2023-07-22 00:11:21 +03:00
Yuxuan Shui
5c03f101f2 Merge pull request #1094 from absolutelynothelix/dual-kawase-optimizations 2023-07-16 13:44:38 +00:00
Arda Atci
a5c4095082 Merge remote-tracking branch 'yshui/next' into next 2023-07-14 02:45:02 +03:00
Maxim Solovyov
e8477e0a73 backend: fix resize factor calculation
the corresponding regions need to be resized once for each window in the
stack above the damaged window including the damaged window itself. we
were off by one.
2023-07-06 16:20:38 +03:00
Maxim Solovyov
5c00ccf4d1 backend: gl: bind default mask texture once in gl_dual_kawase_blur
and set it's uniforms once as well
2023-07-04 22:12:08 +03:00
Maxim Solovyov
0f4cd33b35 backend: gl: bind vertex array objects once in gl_dual_kawase_blur 2023-07-04 21:55:32 +03:00
Maxim Solovyov
7a45e35ca0 backend: gl: set usage of buffer objects to GL_STREAM_DRAW
it pretty much describes how we use buffer objects now

reference: https://docs.gl/gl3/glBufferData
2023-07-04 21:16:34 +03:00
Yuxuan Shui
1307d9ec70 core: isolate X connection with error handling into a struct
Part of the long running effort to reduce the prevalence of `session_t`.
After this, functions that communicate with X can make use of the error
handling machinary (set_ignore_cookie, set_cant_fail_cookie) without
needing to take a `session_t` parameter.

This commit converts everything to use the new struct `x_connection`,
most of the conversions are mechanical.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-07-04 16:24:53 +01:00
Arda Atci
15aa5014a6 Merge branch 'yshui:next' into next 2023-06-20 22:36:05 +03:00
Maxim Solovyov
15667d6b6e backend: gl: remove references to the glx backend 2023-06-18 19:34:53 +03:00
Maxim Solovyov
689321419b backend: egl: remove references to the glx backend 2023-06-18 19:30:01 +03:00
Maxim Solovyov
ecbc8b50ed backend: xrender: set created picture to repeat when binding a pixmap 2023-06-16 19:42:36 +03:00
Arda Atci
4d624bbee5 Merge remote-tracking branch 'yshui/next' into next 2023-06-14 22:02:43 +03:00
Yuxuan Shui
9956844647 backend: log more timing info
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-06-14 00:26:30 +01:00
Yuxuan Shui
037fd4c07b Merge pull request #1022 from absolutelynothelix/xrescheck-xcb-composite-named-windows-pixmaps-test 2023-06-13 17:25:55 +01:00
Maxim Solovyov
223872bc7f backend: dummy: do not leak owned pixmaps
free pixmaps which ownership was transferred to the backend
2023-06-12 23:41:25 +03:00
Maxim Solovyov
1e398b9c24 backend: dummy: fix a typo in the dummy_get_blur_size function
"reisze_region" => "resize_region"
2023-06-12 23:11:20 +03:00
Maxim Solovyov
8245de27ed backend: gl: do not leak back and default mask textures
they're generated during backend initialization and now deleted during
deinitialization
2023-06-12 21:24:57 +03:00
Maxim Solovyov
5826adf853 backend: gl: remove gl_delete_texture function
it wasn't used and it's hard to call it a shortcut
2023-06-12 21:17:28 +03:00
Yuxuan Shui
5b6f6ecbf5 backend: egl: print egl error when eglCreateImage failed
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-06-12 12:03:37 +01:00