Age | Commit message (Collapse) | Author |
|
strncpy doesn't guarantee that the result is zero-terminated.
|
|
These functions are too easy to misuse, they don't do bounds
checking.
|
|
|
|
Co-authored-by: Isaac Freund <mail@isaacfreund.com>
|
|
Now that the DRM backend no longer depends on GBM, we can make it
optional. The GLES2 renderer still depends on it because of our EGL
device selection.
This is useful for compositors with their own renderers, and for
compositors using the Vulkan renderer.
|
|
|
|
With protocol additions such as [1], compositors currently have no
way to opt out of the version upgrade. The protocol upgrade will
always be backwards-compatible but may require new compositor
features.
The status quo doesn't make it possible to ship a protocol addition
without breaking the wlroots API. This will be an issue for API
stabilization [2].
To address this, let compositors provide a maximum version in the
function creating the global. We need to support all previous versions
of the interface anyways because of older clients.
This mechanism works the same way as Wayland clients passing a version
in wl_global.bind.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514
[2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1008
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3397
|
|
|
|
The current ARGB2101010 has really "corase" control over the alpha.
Particularily, examples/layer-shell would look really strange with certain
parameters. For examples, when passing an alpha of 0.84, the box would not
appear transparent at all anymore.
Patched as suggested by @mstoeckl -- thank you!
|
|
|
|
|
|
|
|
|
|
|
|
wlr_touch
|
|
E.g. With e.g. gnome-terminal we never end up in handle_surrouding
so it will be NULL.
|
|
|
|
This became possible after the usage of wlr_surface_send_frame_done.
|
|
|
|
|
|
|
|
The definition of the "drm" dep already calls it.
|
|
These clients don't need wlroots.
|
|
This is a client example, it shouldn't use a compositor library
like wlroots.
|
|
wayland-client isn't really used by wlroots core, so let's move the
dep to where it's needed in the Wayland backend.
|
|
|
|
|
|
This allows us to get damage tracking for free™.
|
|
Add RECT nodes to the scene-graph demo to illustrate how they are used.
Here, we add a solid rectangle behind each surface as a quick-and-dirty
border, handling surface.commit in order to size it appropriately.
|
|
|
|
|
|
|
|
|
|
This reverts commit 9796abccedef881e99d293a2658c4da9466acd88.
This Meson issue has been fixed upstream for a while. We require
0.56.0 so we should never hit an unpatched Meson.
|
|
|
|
|
|
This examples uses `wlr_render_quad_with_matrix` to render coloured
squares on the screen, and uses the rotation to make them spin on their
middle.
|
|
If a NULL xkb_rule_names pointer is passed to
xkb_keymap_new_from_names, libxkbcommon will default to reading
the XKB_* env variables. So there's no need to do it ourselves.
Also s/xkb_map_new_from_names/xkb_keymap_new_from_names/ since the
latter is more consistent with the returned struct name.
[1]: https://xkbcommon.org/doc/current/structxkb__rule__names.html
|
|
Most of the examples had a GLES2 dependency, but weren't using it.
Convert multi-pointer to wlr_renderer instead of using directly
glClear.
|
|
|
|
Allow selecting whether the GLES2 renderer gets enabled.
Co-authored-by: Simon Ser <contact@emersion.fr>
|
|
|
|
It's deprecated in ffmpeg >= 4.4.
Closes: https://github.com/swaywm/wlroots/issues/2798
|
|
Fixes: 675bc396583f ("Fix wl_shm_format passed to wlr_texture_from_pixels")
|
|
Fixes: 27fba3df4347 ("render: use DRM formats in wlr_texture_from_pixels")
|
|
There is one exception: layer-shell still uses wlr_log. Would need to
convert to fprintf to drop the wlroots dep there.
Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
|
|
We use egl_common.h instead.
Fixes: 34e7f69d6942 ("examples: remove dependency on wlr_egl from clients")
|
|
Just use fprintf instead of wlr_log.
|
|
Make (config, context)_attribs const just to be on the safe side.
|
|
Remove "major" and "minor" from egl_common.c as they are not used by the examples that use egl_common.c.
|