Simon Ser
738bbf01ee
cursor: add support for linux-drm-syncobj-v1
5 months ago
Simon Ser
fe429b2463
Switch to stable tablet-v2 protocol
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/284
6 months ago
Simon Ser
78c76ddd09
backend: add wlr_backend_{test,commit}()
10 months ago
Kirill Primak
811ca199c4
xdg-shell: drop automatic surface configuration
...
Compositors now are expected to wait for an initial commit by checking
wlr_xdg_surface.initial_commit on every surface commit and send
(schedule) configure events manually.
11 months ago
Simon Ser
4b3553409a
xdg-shell: use wlr_surface_synced for popups
1 year ago
Simon Ser
9201431c29
xdg-shell: use wlr_surface_synced for toplevel
1 year ago
Simon Ser
c31ca04264
output: drop stale references to wlr_output_attach_render()
...
It turns out we forgot about the function declaration in the header.
Also some docs were still referring to that function.
Move the wlr_output_attach_render() docs to
wlr_output_begin_render_pass().
1 year ago
Kirill Primak
86b2cac921
Add missing type declarations in headers
1 year ago
Alexander Orzechowski
d1ddd4ca3a
wlr_scene_surface: Introduce scene_surface_set_clip
1 year ago
Kirill Primak
a09d649439
docs: replace the less commonly used "::" with "."
1 year ago
Rose Hudson
83af3202f9
output: defer fake present events until after commit
...
Since headless and wayland-without-presentation-feedback were firing
present inside their commit impls, present was getting fired before
commit, which is cursed. Defer this with an idle timer so that commit
handlers can run before present handlers.
1 year ago
Simon Ser
e5fc8cd4c7
output: trigger frame/present events on all commits on enabled output
...
Up until now, frame/present events were only triggered when the
user submitted a buffer. Change the wlr_output API so that these
events are triggered when any commit is applied on an enabled
output.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3708
1 year ago
Kirill Primak
bd5c4f4a4a
xdg-shell: rework roles
1 year ago
Kirill Primak
f0cc712af1
xdg-shell: don't return anything from create_xdg_surface()
1 year ago
Simon Ser
9b8cd1f5d6
buffer: make wlr_client_buffer functions private
...
We want to eventually remove this. Let's make sure compositors
don't start using either of these functions.
1 year ago
Simon Ser
000081db19
cursor, output: apply viewport to cursor
...
Instead of passing the scale, pass the source and destination
boxes.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3676
1 year ago
Simon Ser
b625a13156
output: attach buffer to state in output_ensure_buffer()
2 years ago
Kirill Primak
3dc646ea88
Add some missing includes/declarations
2 years ago
Kirill Primak
49e9be62ae
subcompositor: consider mapping on parent map
...
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3654
2 years ago
Kirill Primak
b0437fc416
xdg-shell: use unified map logic
2 years ago
Alexander Orzechowski
90d08f8f1c
wlr_drm_format: Rework wlr_drm_format_intersect
...
Now it takes a reference to a destination format
2 years ago
Simon Ser
b64e7e88bf
output: add output_cursor_set_texture()
2 years ago
Andri Yngvason
00489b11a0
seat: Provide dummy resources for inert seats
2 years ago
Alexander Orzechowski
b1e38fc7ea
output: Drop output_is_direct_scanout
2 years ago
Kirill Primak
a3489f2c64
xdg-shell: improve unmapping logic slightly
2 years ago
Simon Ser
7215bd1e0f
output: expose wlr_output_state_set_buffer()
2 years ago
Simon Ser
6c277e3c39
buffer: drop wlr_shm_client_buffer
...
It's been superseded by wlr_shm.
2 years ago
Kirill Primak
acd5a64fd1
xdg-shell: use role object destroy handler
2 years ago
Simon Ser
8e8b9a7217
output: fix back buffer checks
...
The back buffer is no longer set at commit time since 0556aa0c59
("output: rejigger attach/clear for back buffer").
Instead, check whether the buffer belongs to the output swapchain.
This is more robust.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3496
2 years ago
Simon Ser
69c47717c2
buffer: split into multiple files
...
wlr_buffer.c is difficult to read because it contains a mixed bag
of unrelated things: base buffer type, buffer implementations,
buffer resource factory, and client buffer.
Split each of these into their own file.
2 years ago
Kirill Primak
3abedaf211
subcompositor: move+rename subsurface_parent_commit()
2 years ago
Simon Ser
29291cb47c
render/texture: drop wlr_texture_is_opaque
...
Whether a texture is opaque or not doesn't depend on the renderer
at all, it just depends on the source buffer. Instead of forcing
all renderers to implement wlr_texture_impl.is_opaque, let's move
this in common code and use the wlr_buffer format to know whether
a texture will be opaque.
3 years ago
Simon Ser
96b594110d
matrix: remove wlr_matrix_projection()
...
69477051cc
("matrix: deprecate wlr_matrix_projection") marked it
as deprecated. 1 year later, we can now remove it from our public
API.
3 years ago
Isaac Freund
0deef6fe44
output: fix leak of empty back buffer lock
...
This refactors output_ensure_buffer() to not mutate the state passed,
making the previous subtle behavior much more explicit.
Fixes: d483dd2f
("output: add wlr_output_commit_state")
Closes : #3442
3 years ago
Simon Ser
9e25d3074d
output: pass wlr_output_state to rendering functions
...
No functional change.
3 years ago
Simon Ser
927661d246
output: pass wlr_output_state to output_pending_resolution
3 years ago
Kirill Primak
4a968576e4
xdg-popup: add proper configure flow
3 years ago
Alexander Orzechowski
5f56246571
wlr_scene: Pull scene_node_get_root into a private header
...
We will need this for surface emulation on buffers.
3 years ago
Simon Zeni
9a17200446
types/wlr_keyboard: uniformize events name
3 years ago
Kirill Primak
5879e77d68
xdg-positioner: rename structs
...
To be consistent with other wlr_xdg_* structs,
wlr_xdg_positioner_resource is renamed to wlr_xdg_positioner and made
public, and wlr_xdg_positioner is renamed to wlr_xdg_positioner_rules.
Functions which operated on wlr_xdg_positioner were renamed and updated
accordingly.
3 years ago
Kirill Primak
b5b15b2625
xdg-{toplevel,popup}: extract destructors
3 years ago
Kirill Primak
88f3040438
xdg-popup: destroy popup-less grab
...
This also fixes a seat destruction segfaulting if xdg-shell was
destroyed first.
3 years ago
Kirill Primak
c35d14ecfa
xdg-shell: extract role-specific unmap logic
3 years ago
Kirill Primak
27c8865a4d
xdg-shell: unify function arguments' names
...
`wlr_xdg_surface`s are now named "surface" everywhere, and
`wlr_surface`s are called "wlr_surface".
3 years ago
Kirill Primak
41412cadbe
xdg-popup: fix functions' main argument type
...
With this commit, `wlr_xdg_popup_*()` functions now expect
a `wlr_xdg_popup` instead of a `wlr_xdg_surface`.
3 years ago
Kirill Primak
affe0d8713
xdg-toplevel: fix functions' main argument type
...
With this commit, `wlr_xdg_toplevel_*()` functions now expect
a `wlr_xdg_toplevel` instead of a `wlr_xdg_surface`.
3 years ago
Kirill Primak
ee52c32915
xdg-shell: fix create_xdg_popup() param type
3 years ago
Kirill Primak
05dd990e43
xdg-shell: rename surface role handlers
3 years ago
Kirill Primak
50827ed7f5
surface: improve role precommit hook
...
Now the role precommit hook is called before the commit, not on
wl_surface.commit request, and takes a state which is to be applied.
3 years ago
Kirill Primak
36b5d5888c
surface: move impl to types/wlr_{sub,}compositor.c
3 years ago