Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A lot of protocols extend the wl_surface state. Such protocols need
to synchronize their extended state with wl_surface.commit and
cached states. Add a new utility for this purpose.
|
|
|
|
The function does not check whether the upload succeeded: it does
not check the wlr_client_buffer.
|
|
No need to store this bit, we can infer it from buffer_width and
buffer_height.
|
|
|
|
Knowing which fields changed in the last commit is more useful than
knowing which fields were ever set on the surface.
|
|
This allows compositors to check whether the cursor hint is set.
|
|
Knowing which fields changed in the last commit is more useful than
knowing which fields were ever set on the surface.
|
|
`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It
detected minor infelicity in `calloc()` API usage in `wlroots`:
../backend/libinput/tablet_pad.c: In function 'add_pad_group_from_libinput':
../backend/libinput/tablet_pad.c:36:38: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
36 | group->rings = calloc(sizeof(unsigned int), group->ring_count);
| ^~~~~~~~
../backend/libinput/tablet_pad.c:36:38: note: earlier argument should specify number of elements, later size of each element
|
|
Before we were populating wlr_output.current_mode with a generated
fixed mode when a custom mode was committed in the DRM backend. But
that's no longer the case: now a custom mode behaves the same under
the DRM backend and other backends.
wlr_output_layout was still assuming that an output without a
current_mode was disabled. Fix that assumption.
Fixes: 5567aefb1c56 ("backend/drm: Don't add pollute fixed modes list with custom modes")
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3743
|
|
We have current and pending state and the code uses struct
assignments between them and resets and frees in multiple places.
Introduce a reset() function so we can unify that.
|
|
|
|
|
|
|
|
wlr_xcursor_theme_get_cursor() now does some fallback logic. We
don't want that for checking whether a cursor has already been
loaded.
Fixes: dbedcdb418f4 ("xcursor: add fallbacks for legacy names")
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3783
|
|
This is unused.
|
|
The fresh new wlr_output_cursor is positioned at (0, 0).
Call wlr_output_cursor_move() after creating the wlr_output_cursor
to fix this.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3777
|
|
It can be useful for compositors to get the real DRM FD instead of
the one from the parent compositor. For instance, some compositors
might want to perform some DRM IOCTLs there to check the driver
name, fetch some DRM resources, etc. This will also be a requirement
for direct scanout on secondary GPUs.
|
|
We don't support direct scanout on such backends yet.
|
|
Allows compositors to figure out whether a DRM backend is
secondary on a multi-GPU setup.
|
|
This is similar to wlr_pixman_texture_get_image and can be useful for
compositors to access the rendering data.
|
|
ffmpeg, epoll-shim, libpng were dependencies for client examples.
These have been split into a separate repository so we no longer
need to install them.
|
|
Instead of requiring a manual soversion bump each time we do a
release, automatically compute it from the version number.
In the early days we used to not bump soversion, so there is an
hardcoded offset.
This will need to be updated once we ship 1.0, so assert that we're
still on 0.x.
|
|
oops
|
|
|
|
Replacement for wlr_gles2_renderer_get_current_fbo(). Wayfire uses
it for instance.
|
|
This is unused.
|
|
wlr_cursor is responsible for sending enter/leave events, but
doesn't send fractional-scale-v1 and wl_surface.preferred_buffer_scale
events. This is not an easy thing to do from a compositor, so let's
just do it in wlr_cursor itself.
|
|
linux-dmabuf used to not need a DRM FD, however since v4 a DRM FD
is required for the main_device event.
|
|
This is the last of a set of commits which ensures that both textures
and render buffers can be accessed through _UNORM and _SRGB image
views. While _UNORM image views are not yet used for 8-bpc image
formats, they will be needed in the future to support color transforms
for both textures and render buffers.
|
|
|
|
|
|
|
|
|
|
Later commits will start using _SRGB image views again,
where appropriate.
|
|
|
|
When we cleared the pending backend damage when the output committed,
we would not take into account the output transform. It's easiest to fix
this by just changing pending_commit_damage to always have transformed
coordinates.
|
|
We would apply it twice if we failed direct scanout. Once when we attempt
direct scanout and again when we composite.
|
|
Direct scanout damage will just accumulate on the damage ring while in
direct scanout and properly damage when we exit anyway. On the flip side
since we now manage backend damage submission ourselves, this won't break
that either.
|
|
Compositors who use _build_state are no longer required to call
damage_ring_rotate themselves. This is a minor breaking change.
|
|
The damage ring is only supposed to keep track of damage within
the swapchain
|
|
|
|
|