Age | Commit message (Collapse) | Author |
|
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.
|
|
This allows compositors to get back the raw drmModeModeInfo and
look at DRM-specific fields and flags.
|
|
This allows doc generators to properly associate the doc comment
with the function instead of the typedef.
|
|
|
|
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
|
|
Don't store modifiers as part of the struct.
|
|
This is implied by the fact that this function finishes the state instead
of destroying it.
|
|
|
|
We were storing a wlr_output without listening for the destroy
event.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3646
|
|
|
|
|
|
The usages in linux_dmabuf zero out the dst before passing it so this
change should be fine.
|
|
|
|
|
|
This would break if you are running with a NULL renderer.
|
|
This is supposed to be an unstable interface and it was a mistake that
this header was not included.
|
|
|
|
Allow callers to pick the blend mode when rendering a rect. The
"none" mode can be used to disable blending and clear rects.
|
|
Same as wlr_output_render_software_cursors(), but takes a
struct wlr_render_pass.
|
|
|
|
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
|
|
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).
|
|
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
|
|
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
|
|
This allows wlroots to support newer versions of the interface
without breaking the API.
|
|
Compositors can migrate to wlr_damage_ring.
|
|
This lets compositors check whether direct scan-out is possible.
Compositors will soon be responsible for manually calling this
function.
|
|
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).
|
|
The will be used by the Wayland backend to figure out whether
updating sub-surface position is necessary.
|
|
Amend b7e9ad79 to remove wlr_wl_input_device_get_seat definition.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3611
|
|
- 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
|
|
Just like _WLR_FILENAME and _WLR_ATTRIB_PRINTF, this makes it more
obvious that this isn't part of our API.
|
|
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
|
|
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.
|
|
When e.g. screencopy-v1 is active, callers are responsible for
disabling output layers.
|
|
|
|
Same as the original function, but check for the bitfield before
calling pixman_region32_fini(), because that function expects an
initialized region.
|
|
|
|
We don't need to pull wlr_compositor.
|
|
|
|
|
|
|
|
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
|
|
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()
|