vaxerski
c2aa7fd965
backend/drm: Add async page flip support to legacy
...
Atomic doesn't support such flags yet.
1 year ago
vaxerski
5dec1c8bcb
staging/tearing-control: Add protocol support
1 year ago
John Lindgren
1a731596c5
wlr_scene: clarify wlr_scene_output ownership semantics
...
wlr_scene_output_layout_add_output() was made public by f5917f0247
("scene_output_layout: make output adding explicit") but the ownership
semantics are not obvious and should be clarified.
1 year ago
Alexander Orzechowski
5299d973d5
render/pass: Introduce wlr_render_rect_options_get_box
1 year ago
Simon Ser
65bbbbbf0c
render/vulkan: de-duplicate VkImageUsageFlags
...
The flags passed to vkCreateImage() must match the flags used when
querying formats. Make this clearer by using the same variable.
1 year ago
Kirill Primak
4565b07484
Unify signal data docs
...
`// struct <name>` appears roughly 4 times as often as
`// struct <name> *`. Switch to the former variant everywhere.
1 year ago
Manuel Stoeckl
a94168b5fe
render: ensure wlr_render_rect_options->box is nonempty
...
This optimization also fixes an validation error with the Vulkan
renderer by ensuring vkCmdClearAttachments does not receive empty
regions.
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
Rose Hudson
f5917f0247
scene_output_layout: make output adding explicit
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3709
1 year ago
Rose Hudson
91f813ffb7
output_layout: return wlr_output_layout_output when adding output
...
This will be used for the scene-graph integration.
1 year ago
Simon Ser
72787db98a
compositor: drop wlr_surface_destroy_role_object()
...
This function is now unnecessary.
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
Leonardo Hernández Hernández
bdc34401ba
xdg-decoration: store an xdg_toplevel instead of xdg_surface
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685
1 year ago
Simon Ser
22b6581a18
backend/wayland: wait for xdg_surface.configure explicitly
...
We were assuming a roundtrip was enough to get an
xdg_surface.configure event. That's not the case, the protocol
spec doesn't make such a guarantee.
1 year ago
Simon Ser
d3d3e19ffd
render: split render pass API into separate header
...
Keeps the main wlr_renderer.h a tad more tidy.
1 year ago
Alexander Orzechowski
568b1943b9
wlr_output: Nuke wlr_output_update_enabled
1 year ago
Alexander Orzechowski
f1ba70ffa6
wlr_output: Make wlr_output_update_{custom,}_mode private
...
Backends should be using wlr_output_send_request_state to request
modesets to the compositor. This will be inlined and removed next commit.
1 year ago
Alexander Orzechowski
6cda3e251c
output: Add initialization state to wlr_output_init
1 year ago
Simon Ser
8678633fc9
backend/wayland: add wlr_wl_output_create_from_surface()
...
By using this function, a compositor can display a wlroots
compositor in a sub-surface, for instance.
1 year ago
Simon Ser
4f88886199
backend/wayland: tag wl_surface
...
When integrating wlroots with another toolkit, wlroots may receive
wl_pointer.enter events for surfaces not backed by a wlr_output.
Ignore such surfaces by tagging the ones we're aware of with
wl_proxy_set_tag().
1 year ago
Simon Ser
dd24991c9e
backend/wayland: take existing wl_display in wlr_wl_backend_create()
...
This allows compositors to use an existing wl_display, to integrate
wlroots with an existing toolkit.
1 year ago
Simon Ser
77dc1c28aa
xwayland: drop wlr_xwayland_surface.events.set_pid
...
The PID of an X11 window cannot change.
This is a remnant from the days when we queried the PID with a
window property, instead of using XRes.
1 year ago
Kirill Primak
42a5b6f62a
compositor: add "mapped" flag doc
1 year ago
Kirill Primak
529f1b82ee
xwayland/shell: don't listen to wlr_surface.events.destroy
...
The wlr_xwayland_surface_v1 will be destroyed automatically
from xwl_surface_role_destroy().
1 year ago
rewine
2f859f5bec
wlr_output: add comments for signal parameters
1 year ago
Leonardo Hernández Hernández
e8d545a977
xdg-shell: add support for v6
...
This adds the suspended toplevel state
1 year ago
Simon Ser
04e4e06986
cursor-shape-v1: new protocol implementation
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194
1 year ago
rewine
f3cf830e9a
wlr_idle_inhibit_manager_v1: add comments for signal parameters
1 year ago
Kirill Primak
7791ffe058
data-device: remove undefined grab interface decls
1 year ago
Kirill Primak
c6603288fb
xdg-shell: update stale docs
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
John Lindgren
657ca2205f
wlr_gamma_control: add missing forward declarations
...
Fixes an error seen in labwc CI builds with -Werror:
../subprojects/wlroots/include/wlr/types/wlr_gamma_control_v1.h:44:16:
error: ‘struct wlr_output_state’ declared inside parameter list
will not be visible outside of this definition or declaration [-Werror]
44 | struct wlr_output_state *output_state);
| ^~~~~~~~~~~~~~~~
1 year ago
Simon Ser
67447d6cb4
presentation-time: add separate helper for zero-copy
...
The backend is not able to tell whether a surface is being
presented via direct scan-out or not. The backend will set
ZERO_COPY if the buffer submitted via the output commit was
presented in a zero-copy fashion, but will no know whether the
buffer comes from the compositor or the client.
1 year ago
Simon Ser
fe84bfc8d9
scene: add wlr_scene_output_sample_event
...
This contains the output and a bool indicating direct scan-out.
1 year ago
Simon Ser
88942d43fd
scene: rename output_present event to output_sample
...
Using "present" is confusing here: the event is emitted when the
buffer is being sampled to be displayed on an output, not when it's
being presented on-screen.
Rename to match the presentation-time terminology.
1 year ago
Simon Ser
4811d9fb18
render: document wlr_buffer_pass_options.timer
1 year ago
Simon Ser
b7dca21c2b
render: constify struct wlr_buffer_pass_options
...
Let's not allow renderer implementations to mutate the passed in
options.
1 year ago
Rose Hudson
214df8eda0
scene_output: optionally record and report timings
1 year ago
Simon Ser
5bb0057794
xwayland: document event data
1 year ago
Simon Ser
19ba3f0c2a
xwayland: drop struct wlr_xwayland_move_event
...
This only contains the xsurface, which isn't particularly useful.
1 year ago
Simon Ser
972c5f0c11
xwayland: document associate/dissociate events
1 year ago
Simon Ser
6f8287128b
output: drop wlr_output_cursor_set_image()
...
This function takes a pointer to memory with a hardcoded format
and many parameters to describe the pixel buffer.
wlr_output_cursor_set_buffer() can be used instead.
2 years ago
Simon Ser
0fc532f8de
cursor: remove wlr_cursor_set_image()
...
Superseded by wlr_cursor_set_buffer().
2 years ago
Simon Ser
18bafbfc57
xcursor-manager: drop wlr_xcursor_manager_set_cursor_image()
2 years ago
Simon Ser
71c87ff4b8
cursor: add wlr_cursor_set_buffer()
...
A saner replacement for wlr_cursor_set_image():
- Takes a wlr_buffer instead of numerous parameters and a hardcoded
format.
- The scale is not used to filter outputs.
- A ref to the buffer is kept to apply it to new outputs.
2 years ago
Simon Ser
aa1055134d
backend/drm: handle output layer damage
2 years ago
Simon Ser
13f096b0ac
output-layer: add wlr_output_layer_state.damage
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3593
2 years ago
Alexander Orzechowski
c68c9f1685
wlr_scene_buffer: Publicize some state
...
The sway scene port relies on this to create a copy of the buffer for
saved surface purposes.
2 years ago