Age | Commit message (Collapse) | Author |
|
|
|
Co-authored-by: Puck Meerburg <puck@puckipedia.com>
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/68
|
|
|
|
The name "allow_artifacts" and associated description is very vague, and
theoretically allow for tearing behavior. Clarify that we only intend to
mean artifacts related to output configuration (e.g., modesets).
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3740
|
|
There were a couple of problems with this:
1. The behavior is unexpected. Typically objects in wlroots won't
also destroy objects that they depend on. For instance, wlr_scene_output
will not destroy the wlr_output when it's destroyed. It shouldn't be any
different for scene layouts.
2. This fixes a crash where because wlr_output_layout and wlr_scene_output
are both addons to wlr_output, we might get into a situation where
wl_list_for_each_safe might malfunction. See [1]
This means that the compositor needs to manually destroy the output
when they destroy the layout, hence ~breaking. Compositors can just
call `wlr_scene_output_destroy()` if they want to destroy both at the
same time.
[1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4358#note_2106260
This reverts commit 1a731596c5bcd252d8796cacb59af8b20ceb914f.
Co-authored-by: Kirill Primak <vyivel@eclair.cafe>
|
|
The newly introduced state struct can be used to retrieve this.
|
|
|
|
It makes little sense to have a catch-all grab vaildation function,
considering that e.g. tablet tool implicit grabs are possible as well.
Besides, the function has always returned true anyway.
|
|
|
|
The kernel patch has been merged, so this is available in the
official docs now.
|
|
|
|
|
|
|
|
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3677
|
|
Atomic doesn't support such flags yet.
|
|
|
|
wlr_scene_output_layout_add_output() was made public by f5917f024760
("scene_output_layout: make output adding explicit") but the ownership
semantics are not obvious and should be clarified.
|
|
|
|
`// struct <name>` appears roughly 4 times as often as
`// struct <name> *`. Switch to the former variant everywhere.
|
|
This optimization also fixes an validation error with the Vulkan
renderer by ensuring vkCmdClearAttachments does not receive empty
regions.
|
|
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
|
|
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3709
|
|
This will be used for the scene-graph integration.
|
|
This function is now unnecessary.
|
|
|
|
We want to eventually remove this. Let's make sure compositors
don't start using either of these functions.
|
|
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685
|
|
Keeps the main wlr_renderer.h a tad more tidy.
|
|
|
|
Backends should be using wlr_output_send_request_state to request
modesets to the compositor. This will be inlined and removed next commit.
|
|
|
|
By using this function, a compositor can display a wlroots
compositor in a sub-surface, for instance.
|
|
This allows compositors to use an existing wl_display, to integrate
wlroots with an existing toolkit.
|
|
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.
|
|
|
|
The wlr_xwayland_surface_v1 will be destroyed automatically
from xwl_surface_role_destroy().
|
|
|
|
This adds the suspended toplevel state
|
|
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194
|
|
|
|
|
|
|
|
Instead of passing the scale, pass the source and destination
boxes.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3676
|
|
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);
| ^~~~~~~~~~~~~~~~
|
|
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.
|
|
This contains the output and a bool indicating direct scan-out.
|
|
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.
|
|
|
|
Let's not allow renderer implementations to mutate the passed in
options.
|
|
|