weston/libweston/backend-drm
Loïc Molinari 96c49d91a5 libweston: Enforce renderbuffer size
Although backends can create renderbuffers of any size, they always
request the output's current mode size (including decorations).
Letting backends ask for a different size than the output has a few
read-back related design issues like for instance weston_renderer's
read_pixels() API users, currently assuming the output size and
without knowledge of renderbuffers, can retrieve cropped images if a
backend asks for a smaller size. Same issue for the output capture
subsystem.

This commit proposes to fix these issues by simply, albeit perhaps
radically, removing the width and height parameters from
create_renderbuffer(), enforcing the current mode's size of the
associated output.

The VNC and PipeWire backends now also access the output size via the
current mode, not through the width and height variables. This has the
benefit of unifying the backends, as well as the renderers, in their
use of output sizes.

Signed-off-by: Loïc Molinari <loic.molinari@collabora.com>
2025-01-21 14:34:31 +01:00
..
drm-gbm.c backend-drm: make the renderer produce client format matched image 2024-07-11 08:59:03 +00:00
drm-internal.h libweston: Use explicit renderbuffer destruction 2025-01-21 14:21:40 +01:00
drm-kms-enums.h backend-drm: Add support for YUV plane color properties 2024-12-16 15:33:20 +00:00
drm-virtual.c libweston/drm-virtual: Point output base backend the DRM backend 2024-08-27 17:32:30 +03:00
drm.c libweston: Enforce renderbuffer size 2025-01-21 14:34:31 +01:00
fb.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
kms-color.c backend-drm: set connector property "Colorspace" 2024-05-06 10:39:42 +00:00
kms.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
libbacklight.c libweston,tools: Include libgen.h for basename signature 2023-12-18 21:13:52 +00:00
libbacklight.h backend-drm: move into new subdir 2019-05-16 13:32:34 +01:00
meson.build backend-drm: get_eotf_mask() from di_info 2024-07-25 13:20:52 +00:00
modes.c libweston: Fix crash with mirror-of 2024-08-30 08:16:45 -05:00
state-helpers.c drm: Remove unnecessary parameter from drm_output_state_alloc() 2024-08-19 10:25:25 -05:00
state-propose.c drm: log more try_view_on_plane_failure_reasons 2025-01-16 10:03:22 -03:00
vaapi-recorder.c drm/vaapi: Fix pointer-size confusion 2021-08-03 11:13:23 +00:00
vaapi-recorder.h backend-drm: move into new subdir 2019-05-16 13:32:34 +01:00