Austin Shafer
d368028bd5
allocator: remove backend parameter in allocator_autocreate_with_drm_fd
...
Since we only use the backend capabilities here we can simply pass
them in directly. This allows other locations to create an allocator
even if they don't have a backend. They can simply specify the caps
they want instead.
11 months ago
Simon Ser
a8aeadeab2
switch: add docs
11 months ago
Simon Ser
967e788bc8
backend/session: add docs
11 months ago
Kirill Primak
5b08f91004
compositor: don't handle size or viewport src change in surface_update_damage()
...
This is incorrectly leads to buffer reuploading.
11 months ago
Kirill Primak
7dfbd87771
compositor: drop wlr_surface.external_damage
11 months ago
Kirill Primak
56cc25185d
cursor: fix and simplify region mapping
...
Fixes: 4462f5dcb3
11 months ago
Leo Li
60af3b6b78
render/gles2: Fixup dropping has_alpha from pixel_format
...
Fixes: 71fb55f3
("render/pixel-format: Move has_alpha into it's own array")
11 months ago
Leo Li
71fb55f3bf
render/pixel-format: Move has_alpha into it's own array
...
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block
info. However, it doesn't make sense to store them in
wlr_pixel_format_info, as they will never be useful (currently, this
info is used for shm, which doesn't have a concept of multi-planar
buffers.)
Let's define a separate array and function for determining whether a
pixel format has alpha.
11 months ago
Andri Yngvason
3a91dc1b48
Create & implement transient seat protocol
11 months ago
Simon Ser
435ca39960
linux-dmabuf-v1: bump to v5
...
We already send a protocol error when the modifiers aren't the same
for all planes.
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/224
11 months ago
Simon Ser
6991f03767
linux-dmabuf-v1: switch to stable
...
The protocol is no longer unstable.
11 months ago
Simon Ser
ba3c1ae065
linux-dmabuf-v1: fix include guard name
11 months ago
Kirill Primak
92ff86db23
backend/drm: use wlr_drm_backend.name for fd cloning
...
This also fixes a memleak.
11 months ago
Alexander Orzechowski
8dff1bb9bd
wlr_damage_ring: Replace wlr_damage_ring_rotate_buffer with original list impl
...
The seq based implementation is complex to reason about and doesn't even
work.
11 months ago
Kirill Primak
4688a371e0
compositor: don't get buffer from pending buffer resource too early
...
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3795
11 months ago
Simon Ser
00b869c1a9
backend/drm: add support for atomic tearing page-flips
...
The kernel patches [1] have been merged.
[1]: https://patchwork.freedesktop.org/series/120103/
11 months ago
Simon Ser
4ec901bb33
scene: release shm buffers once uploaded
...
Once a shm buffer is uploaded there's no reason for wlr_scene_buffer
to keep it locked any further. Allow the compositor to re-use it.
11 months ago
Kirill Primak
0052078bd3
compositor: introduce wlr_surface_reject_pending()
11 months ago
Félix Poisot
5ae8ce807a
render/vulkan: correct sRBG gamma expansion in shader
11 months ago
Simon Ser
d1b39b5843
backend: take wl_event_loop instead of wl_display in wlr_backend_autocreate()
11 months ago
Simon Ser
f27808b8d9
backend/multi: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
54f9944b48
backend/drm: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
11 months ago
Simon Ser
b62ac611c8
backend/x11: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
ed0bba581b
backend/wayland: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
f5e8fa48f3
backend/libinput: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
11 months ago
Simon Ser
682dbf36e5
backend/headless: take wl_event_loop instead of wl_display
11 months ago
Grigory Kirillov
0867dd4e6b
xwayland: add support for _NET_WM_WINDOW_TYPE_DESKTOP atom
11 months ago
Simon Ser
3cc4374542
backend: stop calling wl_display_terminate()
...
Leave it up to the compositor to decide what to do when a backend
becomes unavailable.
11 months ago
Simon Ser
4ad6e6c298
backend: destroy multi backend when primary backend is
...
This makes it easy for compositors to handle situations where the
DRM or libinput backend becomes unavailable. Compositors can listen
the destroy event of the multi backend returned by
wlr_backend_autocreate() and decide what to do.
11 months ago
Simon Ser
be0b7845f7
backend: make attempt_drm_backend() return the primary backend
...
We'll need this in the next commit.
11 months ago
Simon Ser
a82fc4cb8f
backend/multi: emit destroy signal before destroying child backends
...
Some users might want to destroy the multi backend when a child
backend is being destroyed. However, they can't destroy the multi
backend if it's already in the process of being destroyed.
The destroy signal was changed to be emitted after destroying child
backends in babdd6ccf7
("backend: fix use-after-free when destroying
backends"). However, this was done to accomodate for an old
"output_remove" event on backends, which has long been dropped in
favor of wlr_output.events.destroy.
This patch follows the same principle as 5d639394f3
("types/output: emit destroy event before destroying global").
11 months ago
Sarunas Valaskevicius
7c080c3b60
Fix disappearing menus in QT apps
...
A motivating example of such problem - Zoom's popups that open on button presses.
Before this fix the popup would flicker and immediately disappear - because the PID is not yet
available for the verification (as the surface has not been associated yet), wlroots would refuse to
focus the popup and instead focus the previous window. This leads QT to interpret this as a sign to
close the popup.
This change moves the PID aqcuisition to an earlier phase - just where the window is created.
11 months ago
Alexander Orzechowski
cca2bfbe92
output: Drop pending state
11 months ago
Kirill Primak
f91fc445ff
xwayland/xwm: associate even on xcb_get_property() failure
...
This matches the behavior before f5797be8a8
.
11 months ago
Simon Ser
98c708618e
backend/wayland: populate pointer axis relative direction
11 months ago
Simon Ser
7a58f41416
backend/libinput: populate pointer axis relative direction
11 months ago
Simon Ser
00bb1b0f84
seat/pointer: add support for axis_relative_direction event
11 months ago
Simon Ser
88b16bac54
pointer: add support for axis relative direction
11 months ago
Simon Ser
b80337a8f2
xdg-shell: assert that configure events carry positive or zero sizes
...
Negative values here would indicate a compositor bug. For xdg_popup,
zero values are not allowed.
11 months ago
Kirill Primak
be1c48cbfb
layer-shell: forbid set_size with values ≥INT32_MAX
11 months ago
Kirill Primak
0b090c83fb
single-pixel-buffer: send wl_buffer.release
11 months ago
Kirill Primak
58bb49a00b
security-context-v1: fix possible leaks on wl_client_create() and state copying errors
11 months ago
Kirill Primak
d18670b922
xwayland: close pipe fds on set_cloexec() error
11 months ago
Kirill Primak
db69dcf767
backend/x11: handle touchpoint allocation failure
11 months ago
Kirill Primak
20b99ed854
render/drm_format_set: fix possible leak on realloc error
11 months ago
Kirill Primak
3eb89e5325
render/vulkan: fix possible double free
11 months ago
Isaac Freund
7129eaa1f2
keyboard: fix type of wlr_keyboard_modifiers.group
...
This isn't a breaking change since both of these typedefs are uint32_t
but this should make things a bit less confusing for readers.
11 months ago
Kirill Primak
ce89f49b7a
tinywl: depend on the server xdg-shell header
12 months ago
MaxVerevkin
48721bca65
fix outdated comment in wlr_output.h
12 months ago
Simon Ser
a0b1329ee6
Fix bool return types
...
This makes wlroots build in C23 mode.
C23 is more strict and rejects implicit conversions from bool to a
pointer.
12 months ago