Age | Commit message (Collapse) | Author |
|
Makes it easier to work on Xwayland and wlroots features in
parallel.
References: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1048
|
|
|
|
`wlr_surface_get_texture` will always return NULL if the compositor was
not given a renderer.
|
|
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.
|
|
|
|
|
|
The Wayland, X11 and headless backends don't really care about the
cursor size. We were picking a size identical to the texture size
in that case. This is incorrect for LoDPI cursor textures on HiDPI
outputs: in that case, we need to scale up the cursor texture.
Fixes the cursor being chopped off under the Wayland backend with
scale > 1.
|
|
Allow callers to pick the blend mode when rendering a rect. The
"none" mode can be used to disable blending and clear rects.
|
|
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3642
Fixes: 6830bfc17fd9 ("render/pixman: implement render pass API")
|
|
This makes -Db_sanatize=address happy.
|
|
This simplifies the vkQueueSubmit call, removing the need to pass
timeline semaphore point values as separate arrays.
|
|
|
|
This logic is used twice.
|
|
|
|
Same as wlr_output_render_software_cursors(), but takes a
struct wlr_render_pass.
|
|
Add a render pass implementation which leverages the legacy
rendering API. This is helpful during the migration.
|
|
|
|
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
|
|
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
|
|
|
|
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).
|
|
strcmp() returns a signed integer.
|
|
|
|
|
|
This makes grepping much easier.
|
|
xcursor.c was copied over from libwayland-cursor. A lot of
cosmetic imporvements have been merged upstream. Copy-paste the
new version.
|
|
|
|
This makes seat_client resources inert when seats and/or input devices are
destroyed, rather than destroying the resources.
When the client calls e.g. wl_keyboard_release(), it's not expecting the
keyboard global to be already destroyed, so this results in an error such
as this:
wl_display@1: error 0: invalid object 22
|
|
|
|
Fixes: #3636
|
|
We were doing it too late before and surfaces were never getting
the presentation event.
|
|
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.
|
|
|
|
|
|
|
|
Setting the GLESv2 parameter GL_PACK_ALIGNMENT to 1 ensures that the
stride of the glReadPixels output matches the value computed in
`pack_stride`. Since the default value of GL_PACK_ALIGNMENT is 4, this
does not make a difference under normal use; but without this patch
the stride can be incorrect; for example, with RGB565 buffers and
screenshots of regions with odd width.
|
|
Adjust the code style for wlroots, and use calloc() for structs.
|
|
|
|
Compositors can migrate to wlr_damage_ring.
|
|
wlr_output is not well-suited to checking whether direct scan-out
is happening or not. Compositors may want to use their own external
swapchains, for instance.
Additionally, ab7eabac8433 ("output: leverage
wlr_output_configure_primary_swapchain()") makes it so
output_basic_test() is called before the output swapchain is
initialized, resulting in false positives.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3620
|
|
|
|
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.
|