Alexander Orzechowski
4b7c526578
output: Introduce wlr_output_state_copy()
1 year ago
Alexander Orzechowski
2ac31fc630
wlr_scene: Introduce wlr_scene_buffer_set_filter_mode
1 year ago
Alexander Orzechowski
2044cc2311
render: Introduce wlr_render_texture_options.blend_mode
1 year ago
Alexander Orzechowski
6bd44c4fcd
renderer: Introduce wlr_scale_filter_mode
1 year ago
Simon Ser
220402b717
cursor: add wlr_cursor_unset_image()
...
It's pretty awkward to call wlr_cursor_set_image() with 6 zeroes.
Hide that awkwardness in wlroots.
1 year ago
Simon Ser
da04b066ea
cursor: add wlr_cursor_set_xcursor()
...
This keeps track of the last set XCursor. If it hasn't changed,
skip the texture upload.
In the future, support for animated XCursors can be added.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436
1 year ago
Alexander Orzechowski
7ce9459715
output: add documentation for wlr_output_state
1 year ago
Kirill Primak
753f3cc4fa
compositor: add wlr_surface_role.no_object
...
This commit allows to make a role as not represented by an object,
which fixes calling role commit handlers for roles like cursor
surfaces.
Fixes: 099b9de752
1 year ago
Simon Ser
670915eeea
output: add wlr_output_state_set_layers()
1 year ago
Kirill Primak
96f1fdd113
seat: remove a TODO comment about simulating keyboard events
1 year ago
Alexander Orzechowski
05dd08afe5
scene: introduce wlr_scene_output_build_state()
1 year ago
Alexander Orzechowski
ae7bad86dd
output: introduce wlr_output_state_set_damage()
1 year ago
Simon Ser
36376e2ddf
gamma-control-v1: stop applying gamma LUTs implicitly
...
Make the compositor responsible for doing that, so that they can
properly integrate with their output commit sequence.
1 year ago
Simon Ser
ec9b79ef19
gamma-control-v1: add wlr_gamma_control_v1_send_failed_and_destroy()
1 year ago
Simon Ser
026fc6eda0
gamma-control-v1: add wlr_gamma_control_v1_apply()
1 year ago
Simon Ser
5d5cf34486
output: add wlr_output_state_set_gamma_lut()
1 year ago
Simon Ser
6e635d2fd3
gamma-control-v1: add wlr_gamma_control_manager_v1_get_control()
1 year ago
Simon Ser
70c1a57248
gamma-control-v1: introduce set_gamma event
1 year ago
Kirill Primak
1bf245e0fe
compositor: improve role-specific documentation
1 year ago
Kirill Primak
24a479a501
drag: don't set icon's role_data
...
Currently, an icon surface's role_data is set manually to a struct
wlr_drag_icon, which is hacky, incorrect (as role_data is supposed
to be the surface's role object, and drag icons don't have them), and
will be disallowed by future changes.
1 year ago
Simon Ser
544c0622fa
presentation-time: constify wlr_presentation_feedback_send_presented()
...
We don't need to mutate the event in this function.
2 years ago
Kirill Primak
4c9eb6839d
compositor: add a note about ignored input regions
2 years ago
Rose Hudson
45ca284eee
render/gles2: implement timer API
2 years ago
Rose Hudson
9e8947e4d5
add render timer API
...
Based on five calls:
wlr_render_timer_create - creates a timer which can be reused across
frames on the same renderer
wlr_renderer_begin_buffer_pass - now takes a timer so that backends can
record when the rendering starts and finishes
wlr_render_timer_get_time - should be called as late as possible so that
queries can make their way back from the GPU
wlr_render_timer_destroy - self-explanatory
The timer is exposed as an opaque `struct wlr_render_timer` so that
backends can store whatever they want in there.
2 years ago
Simon Ser
52b93f7eb4
output/cursor: fix scale and transform
...
Many issues here:
- wlr_output_cursor_set_buffer() takes a buffer already scaled for
the output, not a buffer with scale=1.
- wlr_output_cursor.{width,height,hotspot_x,hotspot_y} are in output
buffer coordinates.
- render_cursor_buffer() had hardcoded no-ops for scale and
transform, instead of using the cursor surface's.
Fixes: b64e7e88bf
("output: add output_cursor_set_texture()")
2 years ago
Kirill Primak
e75407fd4d
session-lock: remove unused wlr_session_lock_surface_v1.events.map
2 years ago
Kirill Primak
d086ee1b9e
compositor: remove wlr_surface_role.precommit
...
It was previously used to handle unmapping properly but is obsolete now.
2 years ago
Kirill Primak
26676c8c07
xwm: use unified map logic
2 years ago
Kirill Primak
af4181f388
drag: use unified map logic
2 years ago
Kirill Primak
743da5c0ae
input-method: use unified map logic
2 years ago
Kirill Primak
229abfae0c
session-lock: use unified map logic
2 years ago
Kirill Primak
c63f3659c5
layer-shell: use unified map logic
2 years ago
Kirill Primak
b0437fc416
xdg-shell: use unified map logic
2 years ago
Kirill Primak
c590bb600f
subcompositor: use unified map logic
2 years ago
Kirill Primak
6b40e08148
compositor: introduce unified map logic
2 years ago
Kirill Primak
75d03f2b68
xwm: introduce associate/dissociate events
...
We'll soon introduce a unified wlr_surface map event. Up until now, compositors
have been using wlr_xwayland_surface's map event to setup various wlr_surface
related listeners (e.g. commit). This will no longer be possible when that
event is moved over to wlr_surface. Introduce new events where the compositor
can add/remove wlr_surface event listeners.
2 years ago
Simon Ser
30aca4df0d
backend/drm: introduce wlr_drm_mode_get_info()
...
This allows compositors to get back the raw drmModeModeInfo and
look at DRM-specific fields and flags.
2 years ago
Simon Ser
3f0487d310
backend/drm: move forward decl up for drmModeModeInfo
...
This allows doc generators to properly associate the doc comment
with the function instead of the typedef.
2 years ago
Simon Ser
93a6acae9f
output: add wlr_output_begin_render_pass()
2 years ago
Alexander Orzechowski
95062904c7
wlr_scene: Introduce wlr_scene_buffer_set_opacity
2 years ago
Alexander Orzechowski
2346b90a9f
wlr_scene: Make scene_rect_from_node public
...
This is in an effort to be more consistent with both already public
getters: wlr_scene_buffer_from_node and wlr_scene_tree_from_node
2 years ago
Alexander Orzechowski
88f80c4a7c
wlr_scene: Make scene_tree_from_node public
...
This is to allow for compositors that want to be more implicit about
how their scene is organized. Such a compositor may want to walk up
at a certain scene node to find something such as a surface to focus on.
2 years ago
Alexander Orzechowski
61c157269e
wlr_scene: Add documentation to wlr_scene_buffer_from_node
2 years ago
Kirill Primak
5f4a35290d
util/box: always treat NULL boxes as empty
2 years ago
Alexander Orzechowski
300bd80772
wlr_drm_format_set: Store formats on array
2 years ago
Alexander Orzechowski
340700cb70
wlr_drm_format: Change wlr_drm_format_dup to copy
2 years ago
Alexander Orzechowski
e6879616e7
wlr_drm_format: Make structure constant length
...
Don't store modifiers as part of the struct.
2 years ago
Alexander Orzechowski
84d07e7119
wlr_drm_format_set: Remove redundant text in comment for finish function
...
This is implied by the fact that this function finishes the state instead
of destroying it.
2 years ago
Alexander Orzechowski
b45396c790
wlr_drm_format: Introduce drm_format_finish
2 years ago
Simon Ser
2a1234a820
wlr-export-dmabuf-v1: handle output destroy
...
We were storing a wlr_output without listening for the destroy
event.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3646
2 years ago
Simon Ser
d933f5204b
output: drop wlr_output_cursor_set_surface
2 years ago
Simon Ser
b64e7e88bf
output: add output_cursor_set_texture()
2 years ago
Alexander Orzechowski
5adb1be3a7
drm_format_set_intersect: Require initialized dst and remove assert
...
The usages in linux_dmabuf zero out the dst before passing it so this
change should be fine.
2 years ago
Alexander Orzechowski
1ee75786b4
drm_format_set_union: Require initialized dst and remove assert
2 years ago
novenary
d7917d2076
xwayland: allow compositor to set withdrawn state
2 years ago
Alexander Orzechowski
394accbe4a
wlr_compositer: Keep track if surface has committed a buffer before.
...
This would break if you are running with a NULL renderer.
2 years ago
Alexander Orzechowski
2dd9549085
drm_format_set: Mark as unstable
...
This is supposed to be an unstable interface and it was a mistake that
this header was not included.
2 years ago
Austin Shafer
ec37d55a5e
Add union function for format sets
2 years ago
Simon Ser
a93fc8afd6
render: introduce blend mode
...
Allow callers to pick the blend mode when rendering a rect. The
"none" mode can be used to disable blending and clear rects.
2 years ago
Simon Ser
587852056c
output: add wlr_output_add_software_cursors_to_render_pass()
...
Same as wlr_output_render_software_cursors(), but takes a
struct wlr_render_pass.
2 years ago
Simon Ser
4a1ad32534
render: add render pass helpers
2 years ago
Simon Ser
756dedae20
Add a new renderer API
...
Goals:
- Extensibility: we need to be able to add new params to the calls
to render a texture/rect. For instance we'll need to add fences to
the render texture operation for explicit sync purposes.
- No implicit state: no more bind_buffer, begin, end.
- No matrices: these hurt Pixman and we don't need them.
- Clip regions for optimized damage repainting.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3188
2 years ago
Simon Ser
44069dfd5e
output-layer: add cropping support
...
Add a src_box state field. Use the SRC_* KMS props in the DRM
backend, reject the layers in the Wayland backend (for now, we can
support it later via viewporter).
2 years ago
Simon Ser
dae2deb3c9
compositor: add wlr_surface_set_preferred_buffer_transform()
...
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2 years ago
Simon Ser
42edd36785
compositor: add wlr_surface_set_preferred_buffer_scale()
...
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2 years ago
Simon Ser
0bb574239d
compositor: pass version in wlr_compositor_create
...
This allows wlroots to support newer versions of the interface
without breaking the API.
2 years ago
Simon Ser
9ef98452a3
output-damage: drop
...
Compositors can migrate to wlr_damage_ring.
2 years ago
Simon Ser
079ff9e6fb
output: add wlr_output_is_direct_scanout_allowed()
...
This lets compositors check whether direct scan-out is possible.
Compositors will soon be responsible for manually calling this
function.
2 years ago
Simon Ser
835208db98
output-layer: add support for scaling buffers
...
This allows callers to set a destination size different from the
buffer size to scale them.
The DRM backend supports this. The Wayland backend doesn't yet
(we'd need to wire up viewporter).
2 years ago
Simon Ser
e00c4cd7dc
output-layer: cache current state
...
The will be used by the Wayland backend to figure out whether
updating sub-surface position is necessary.
2 years ago
zccrs
5602fb1373
backend/wayland: fix undefined reference to wlr_wl_input_device_get_seat
...
Amend b7e9ad79
to remove wlr_wl_input_device_get_seat definition.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3611
2 years ago
Simon Ser
1b6fac4aa6
output-layer: require all layers in wlr_output_state.layers
...
- Simplifies the backends
- Avoids having two ways to do the same thing: previously one could
disable a layer by either omitting it from wlr_output_state.layers,
or by passing a NULL buffer
- We can change our mind in the future: we can allow users to omit
some layers and define a meaning without breaking the API.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4017#note_1783997
2 years ago
Simon Ser
cab47d33e2
util/log: prefix WLR_REL_SRC_DIR with underscore
...
Just like _WLR_FILENAME and _WLR_ATTRIB_PRINTF, this makes it more
obvious that this isn't part of our API.
2 years ago
Simon Ser
fef8ab22e3
output: introduce wlr_output_configure_primary_swapchain()
...
The goal is to simplify wlr_output by moving all of its rendering
API into separate helpers. Here is a first step to sunset
wlr_output_attach_render(). Instead, compositors call
wlr_output_configure_primary_swapchain(), wlr_swapchain_acquire(),
wlr_renderer_begin_with_buffer() and wlr_output_attach_buffer().
Note that compositors can supply a base struct wlr_output_state.
This is useful to allocate a buffer suitable for submission with
a modeset, for instance.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3079
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3197
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3984
2 years ago
Simon Ser
b33ab26fe7
render/swapchain: make public
...
We've had this struct for a while. It'd be useful for compositors
if they want to manage the swap chains themselves instead of being
forced to use wlr_output's. Some compositors might also want to use
a swapchain without an output.
2 years ago
Simon Ser
3874577d3c
output-layer: document interactions with screen capture
...
When e.g. screencopy-v1 is active, callers are responsible for
disabling output layers.
2 years ago
Simon Ser
7215bd1e0f
output: expose wlr_output_state_set_buffer()
2 years ago
Simon Ser
4629d0ef40
output: expose wlr_output_state_finish()
...
Same as the original function, but check for the bitfield before
calling pixman_region32_fini(), because that function expects an
initialized region.
2 years ago
Alexander Orzechowski
3ef9f91283
wlr_scene: Add dmabuf_feedback helper
2 years ago
Alexander Orzechowski
323f0b94db
wlr_scene: Cleanup header includes
...
We don't need to pull wlr_compositor.
2 years ago
Simon Ser
849c362ffb
linux-dmabuf-v1: add helper for output layer feedback events
2 years ago
Simon Ser
e1335a792a
output-layer: add feedback event
2 years ago
Simon Ser
3e0ce761ad
output: add wlr_output_set_layers()
2 years ago
Simon Ser
2f29b0c438
Add wlr_output_layer
...
This is based on previous work [1] [2].
This new API allows compositors to display buffers without needing to
perform rendering operations. This API can be implemented on Wayland
using subsurfaces and on DRM using KMS planes.
Compared to [1], this approach leverages wlr_addon_set to let backends
attach their own private state to layers, removes the pending
state (necessary for interop with wlr_output_commit_state()) and
enum wlr_output_layer_state_field.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1985
[2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3447
2 years ago
John Lindgren
068280201a
xwayland: Read and publish _NET_WM_STRUT_PARTIAL property
...
This is needed for compositors that want to reserve space for
XWayland panels. Such a feature can be useful in a "transitional"
setup, where only the X11 window manager and compositor is replaced
but other components of an X11 desktop environment are still used.
This change simply reads the X11 property; the compositor is free
to ignore it. Thus, compositors that don't want to support such a
"transitional" feature are not impacted.
v2: Update xwayland_surface_associate()
2 years ago
Kenny Levinsen
1225f81a6a
scene: Add fractional scale handling
2 years ago
Kenny Levinsen
efb8df8b22
wp-fractional-scale-v1: new protocol implementation
...
This implements the WIP wp-fractional-scale-v1 protocol.
2 years ago
Simon Ser
0c966f102c
linux-dmabuf-v1: add wlr_linux_dmabuf_feedback_v1_init_with_options()
2 years ago
Simon Ser
b264ec7767
linux-dmabuf-v1: add basic helpers for feedback
2 years ago
Simon Ser
5cd14dfc91
linux-dmabuf-v1: stop using const in feedback
...
Instead of using const pointers, use structs owned by the tranche.
This will allow wlroots to expose helpers to build feedback
objects.
2 years ago
Alexander Orzechowski
7b32c25a4f
wlr_scene: Rename wlr_scene_surface_from_buffer
...
This renames it to wlr_scene_surface_try_from_buffer to be more clear
that this function can return NULL. This is inline with the rest of
wlroots[1].
[1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
2 years ago
Simon Ser
eb3e8f08a8
subcompositor: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2 years ago
Simon Ser
c5f7f8ab98
ext-session-lock-v1: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2 years ago
Simon Ser
f9bd416d41
layer-shell-v1: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2 years ago
Simon Ser
49cb85ad72
input-method-v2: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2 years ago
Simon Ser
711a1a3ed4
xdg-shell: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2 years ago
Kirill Primak
fbf5982e38
xwayland/xwm: introduce wlr_xwayland_surface_try_from_wlr_surface()
...
This new function replaces wlr_surface_is_xwayland_surface() and
wlr_xwayland_surface_from_wlr_surface().
2 years ago
Simon Ser
3668c9d86c
examples, tinywl: use "default" cursor instead of "left_ptr"
...
"left_ptr" is the X11 name, "default" is the cursor spec name.
2 years ago
Simon Ser
0f24d27e0b
xdg-shell: rename wlr_xdg_popup.committed to sent_initial_configure
...
We made a similar change to wlr_xdg_toplevel.
2 years ago
Simon Ser
df0c926a7a
xdg-shell: rename wlr_xdg_toplevel.added to sent_initial_configure
...
This is more descriptive, and avoids the confusion with
wlr_xdg_surface.added.
2 years ago
Simon Ser
0e54b861e9
seat/keyboard: constify wlr_seat_keyboard_notify_enter()
2 years ago
Simon Ser
695d28c250
seat/keyboard: constify wlr_seat_keyboard_notify_modifiers()
2 years ago
Simon Ser
e44834595d
seat/keyboard: constify args in wlr_seat_keyboard_enter()
2 years ago
Simon Ser
12e04d8f83
seat/keyboard: constify wlr_seat_keyboard_send_modifiers()
2 years ago
Alexander Orzechowski
5007e713b4
wlr_scene: Send intersecting list of scene outputs for outputs_update signal
2 years ago
Kirill Primak
843b874f22
output-layout: improve closest point for no outputs case
...
Without outputs, all points are equally invalid anyway, but for e.g.
cursor warping it makes more sense to preserve the original position.
2 years ago
Simon Ser
e93ecc669c
tablet-tool: revert bitfield in enum wlr_tablet_tool_tip_state
...
This was changed to a bitfield by mistake.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3484#note_1697926
2 years ago
Isaac Freund
869af1cfbb
session-lock: send more protocol errors
...
The invalid_destroy and invalid_unlock protocol errors aren't currently
sent by wlroots and instead left up to the compositor. However, we can
handle these as well without much additional complexity.
This also adds a missing wl_resource_destroy() call if the lock is inert
in lock_handle_unlock_and_destroy().
2 years ago
Simon Ser
7081687843
keyboard: improve documentation
2 years ago
xiliuya
7f6d646e0a
keyboard: only update LEDs when changed
2 years ago
Kirill Primak
8f58c060fd
util/region: forbid "shrinking" a region with wlr_region_expand()
...
The logic isn't correct.
2 years ago
Ronan Pigott
f8e70af318
wlr_xdg_activation_v1: add new_token event
2 years ago
Kirill Primak
097ea84cda
output-layout: improve API
...
- wlr_output_layout_add{,_auto}() now return a bool indicating whether
the function has succeeded.
- wlr_output_layout_move() is removed.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1083
2 years ago
Kirill Primak
27ea18cc33
output-layout: remove wlr_output_layout_output_state
...
wlroots uses "// private state" comments to denote structure fields
which shouldn't be accessed by compositors, so let's drop
wlr_output_layout_output_state and inline its fields into
wlr_output_layout_output; this also simplifies layout output creation.
2 years ago
Kirill Primak
604df8b327
output-layout: fix function decl indentation
2 years ago
Simon Ser
532f3d3c20
xwayland/xwm: replace role with addon
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3545
2 years ago
Simon Ser
512deebd82
compositor: add wlr_surface.events.precommit
2 years ago
Simon Ser
c4727240af
compositor: document wlr_surface_{enter,leave,send_frame_done}
2 years ago
Alexander Orzechowski
ec846adb54
wlr_drm: Add missing wlr_buffer import
2 years ago
Simon Ser
f36a5915da
wl-drm: don't store wlr_renderer
...
Query the formats at init time, then forget about the renderer.
This will allow wl_drm to be created with a list of formats instead
of a renderer, and will behave better after a GPU reset.
2 years ago
Simon Ser
c8eb24d30e
output: drop enable/mode events
...
The backend no longer changes the output state behind the
compositor's back. Instead, compositors can listen to the "commit"
event and check for WLR_OUTPUT_STATE_ENABLED/WLR_OUTPUT_STATE_MODE.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2300
2 years ago
Simon Ser
19dfe99496
output-damage: stop listening for output mode events
...
These will go away.
2 years ago
Simon Ser
fecbaa2bd6
scene: stop listening for output enable/mode events
...
These will go away.
2 years ago
Alexander Orzechowski
fe891ebd4e
output_init_render: Allow re-initialization
...
This lets the compositor call this function after the fact to replace
the renderer/allocator after a renderer context lost.
2 years ago
Alexander Orzechowski
db0e962368
wlr_texture: Expose owning renderer
2 years ago
Simon Ser
f103dc74d8
linux-dmabuf-v1: introduce wlr_linux_dmabuf_v1_create()
...
Some compositors may want to use the linux-dmabuf-v1 implementation
with a completely custom renderer. Add a function to create the
global with a default feedback.
2 years ago
Simon Ser
9c04fd2496
linux-dmabuf-v1: drop wlr_renderer field
...
This isn't used anymore.
2 years ago
Simon Ser
88493d1f7c
linux-dmabuf-v1: don't use wlr_renderer to send legacy format list
...
The wlr_renderer field will go away in a subsequent commit.
Build the legacy device list from the default feedback instead.
2 years ago
Simon Ser
d45cffb865
linux-dmabuf-v1: don't use wlr_renderer to sanity check DMA-BUFs
...
The wlr_renderer field will go away in a subsequent commit.
Instead of trying to create a texture, try to import the DMA-BUF
into the DRM device FD.
2 years ago
Simon Ser
c99c60090c
linux-dmabuf-v1: add version arg to create()
...
To be able to add support for newer versions without breaking
changes.
2 years ago
Simon Ser
444d94ef89
linux-dmabuf-v1: add "_with_renderer" suffix to create() function
...
Make it clear this is a helper consuming a wlr_renderer. We'll
add a lower-level create() function which doesn't take it in the
next commit.
2 years ago
Simon Ser
f0375eed24
backend/session: make optional
...
Some compositors are not interested in wlr_session, for instance
nested compositors.
Disabling wlr_session removes the udev dependency.
2 years ago
Simon Ser
76b3687739
shm: add create() function without a wlr_renderer
...
This allows compositors which don't use wlr_renderer to still use
wlroots' wl_shm implementation.
2 years ago
Kirill Primak
060df4c6c0
scene: introduce wlr_scene_buffer.events.outputs_update
...
This event is useful for e.g. sending the preferred buffer scale to the
client.
2 years ago
Simon Ser
42016fa262
compositor: make renderer optional
...
This is a first step towards moving texture uploading out of
wlr_compositor.
This commit allows compositors to opt-out of the texture uploading
by passing a NULL wlr_renderer. An immediate user of this is
gamescope, which currently implements a stub wlr_renderer just to
make wlr_compositor happy.
2 years ago
Simon Ser
359df5ef84
compsitor: document wlr_compositor_create()
2 years ago
Simon Ser
d47016abb2
backend/multi: stop pulling <wlr/backend/session.h>
...
Unused.
2 years ago
Simon Ser
0fa5743c26
render/gles2, render/pixman: stop pulling <wlr/backend.h>
...
No reason why the GLES2/Pixman renderers should depend on the
backend.
2 years ago
Simon Ser
b89a050e58
backend: stop pulling <wlr/backend/session.h>
...
We can just forward-declare the struct instead.
2 years ago
Simon Ser
ba13f471ea
backend/session: drop unused <libudev.h>
...
We don't actually need to pull that header here.
2 years ago
Simon Ser
99134c26b8
render: stop pulling <wlr/backend.h>
...
Let's just forward-declare struct wlr_backend instead.
We need to fixup the Vulkan renderer: it needs makedev(), which
got included by chance via <wlr/backend.h> → <wlr/backend/session.h>
→ <libudev.h>.
2 years ago
Simon Ser
4ff46e6cf9
xwayland/xwm: add support for xwayland-shell-v1
2 years ago
Simon Ser
85b37127a6
xwayland/shell: add wlr_xwayland_shell_v1_surface_from_serial()
2 years ago
Simon Ser
d19191ff6b
xwayland/server: delay non-lazy startup
...
This allows users to setup event listeners before the server is
actually started.
2 years ago
Simon Ser
3f40b0031f
xwayland/server: add start signal
...
This can be used to know when wlr_xwayland_server decides to start
a new Xwayland process. At that point the wl_client has already
been created but the Xwayland process hasn't been started yet.
2 years ago
Simon Ser
d3b84463f8
xwayland: add wlr_xwayland_shell_v1_destroy()
2 years ago
Simon Ser
44c7e233ff
xwayland: add wlr_xwayland_shell_v1_set_client()
2 years ago
Simon Ser
69b0b296a2
xwayland-shell-v1: new protocol implementation
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/163
2 years ago
Kirill Primak
236918d52e
Nuke deprecated include/wlr/types/wlr_surface.h
...
Use wlr_compositor.h and wlr_subcompositor.h instead.
2 years ago
Simon Ser
6c3d6be74b
output: drop wlr_output_damage_whole()
...
This function is not used anymore. Backends have no good reason to
damage outputs.
2 years ago