Age | Commit message (Collapse) | Author |
|
Instead, use enum wl_pointer_axis from the Wayland protocol.
|
|
Instead, use enum wl_pointer_axis_relative_direction from the
Wayland protocol.
|
|
|
|
Instead, use enum wl_pointer_axis_source from the Wayland protocol.
|
|
|
|
This is unused.
|
|
This is no longer used.
|
|
Saving the old context and immediately making our own context
current is a common pattern. Let's make it easier to do.
No functional change, just refactoring.
|
|
For XWayland surfaces that start maximized, it's best to send an initial
Configure event to set the size of the surface before mapping it. This
reduces visual glitches since the application sees the correct maximized
size when performing its initial layout and drawing.
wlroots surfaces emit their first "map" event after the XWayland window
has already been mapped and the first frame has been drawn & committed.
This is too late to send the initial Configure event.
So, add a new "map_request" event which is emitted immediately before
telling XWayland to map the window. Compositors can connect to this
event to send the initial Configure event to an XWayland app based on
its requested maximized (or fullscreen) state.
Compositors should not place anything visually on the screen at this
point but rather wait until the "map" event as before.
|
|
On startup, we fetch the previous MODE_ID blob ID so that
compositors can keep using the previous mode if they want to.
However, that blob doesn't belong to us, it belongs to the
previous DRM master. As a result, we get an error when trying to
destroy it.
Fix this by tracking whether the blob belongs to us or not.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3811
|
|
The Linux graphics section of 01.org is no more. Link to more
official docs instead.
|
|
We'll need to use a bunch of internal functions from that file in
the next commits.
|
|
Allows the KMS driver to parallelize the modesets, so should be
faster than going through each CRTC one by one.
|
|
No need for this, the backend can be grabbed from the connector.
|
|
This implements the new ext-foreign-toplevel-list-v1 protocol [1].
Implemented analog to the zwlr-foreign-toplevel-management-v1 implementation.
The additional _ext_ in the names was added to avoid name collisions.
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/187
Co-authored-by: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
|
|
|
|
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.
|
|
Since we only use the backend capabilities here we can simply pass
them in directly. This allows other locations to create an allocator
even if they don't have a backend. They can simply specify the caps
they want instead.
|
|
|
|
|
|
|
|
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block
info. However, it doesn't make sense to store them in
wlr_pixel_format_info, as they will never be useful (currently, this
info is used for shm, which doesn't have a concept of multi-planar
buffers.)
Let's define a separate array and function for determining whether a
pixel format has alpha.
|
|
|
|
The protocol is no longer unstable.
|
|
|
|
The seq based implementation is complex to reason about and doesn't even
work.
|
|
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3795
|
|
Once a shm buffer is uploaded there's no reason for wlr_scene_buffer
to keep it locked any further. Allow the compositor to re-use it.
|
|
|
|
|
|
|
|
We can grab the event loop from the wlr_session instead.
|
|
|
|
|
|
We can grab the event loop from the wlr_session instead.
|
|
|
|
|
|
This makes it easy for compositors to handle situations where the
DRM or libinput backend becomes unavailable. Compositors can listen
the destroy event of the multi backend returned by
wlr_backend_autocreate() and decide what to do.
|
|
|
|
|
|
|
|
|
|
This isn't a breaking change since both of these typedefs are uint32_t
but this should make things a bit less confusing for readers.
|
|
|
|
|
|
|
|
wlr_output.refresh is populated by core wlr_output, and thus will
be zero for a custom mode with an unset refresh rate.
Save the refresh rate from the drmModeModeInfo in wlr_drm_connector
instead.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3791
|
|
|
|
There can only be a single presentation-time global advertised to
clients, this it's unnecessary to pass around the wlr_presentation
pointer.
|
|
|