weston/libweston
Leandro Ribeiro 3226417573 drm: do not pull writeback task if KMS atomic API is not supported
Since 2d70bdfdcd "drm-backend: add support
to output capture writeback source", the DRM-backend was broken for KMS
devices that do not support the atomic API. This fixes that.

We don't support writeback screenshots without atomic modeset support.
So for such devices, we never update the output capture info
(weston_output_update_capture_info()) for the writeback source.

The function that we use to pull writeback tasks
(weston_output_pull_capture_task()) asserts that the capture providers
(renderers, DRM-backend) did not forget to update the capture info
(size/format) if something changed. But as we've never updated the
capture info for such devices, it is zeroed, leading to an assert hit.

With this patch we only pull the capture task for KMS devices that
support the atomic API.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
2023-06-05 07:51:27 +00:00
..
backend-drm drm: do not pull writeback task if KMS atomic API is not supported 2023-06-05 07:51:27 +00:00
backend-headless
backend-pipewire
backend-rdp
backend-vnc
backend-wayland
backend-x11
color-lcms
desktop
renderer-gl
shell-utils
animation.c
auth.c
backend.h
bindings.c
clipboard.c
color-noop.c
color.c
color.h
compositor.c
content-protection.c
data-device.c
dbus.c
dbus.h
drm-formats.c
git-version.h.meson
gl-borders.c
gl-borders.h
input.c
launcher-impl.h
launcher-libseat.c
launcher-logind.c
launcher-util.c
launcher-util.h
libinput-device.c
libinput-device.h
libinput-seat.c
libinput-seat.h
libweston-internal.h
linux-dmabuf.c
linux-dmabuf.h
linux-explicit-synchronization.c
linux-explicit-synchronization.h
linux-sync-file-uapi.h
linux-sync-file.c
linux-sync-file.h
log.c
meson.build
noop-renderer.c
output-capture.c
output-capture.h
pixel-formats.c
pixel-formats.h
pixman-renderer.c
pixman-renderer.h
plugin-registry.c
screenshooter.c
spring-tool.c
timeline.c
timeline.h
touch-calibration.c
vertex-clipping.c
vertex-clipping.h
weston-direct-display.c
weston-log-file.c
weston-log-flight-rec.c
weston-log-internal.h
weston-log-wayland.c
weston-log.c