wlroots/include/wlr
Furkan Sahin 53b399d054 ext_image_capture_source_v1: add scene-per-output capture source
When a compositor uses color transforms (ICC profiles) the output's
postrender buffer is in the display's color space, not sRGB. A
screenshot client receives this buffer and saves it as an untagged PNG,
which appears oversaturated in non-colormanaged viewers.

To fix this without altering the semantics of the raw output source
(which must deliver the exact hardware scanned buffer, including
overlays and direct scanout), add an optional, compositor driven
scene-per-output capture source. This source re-renders the entire scene
graph for a given output with an identity color transform (sRGB), using
a hidden headless output to avoid flicker.

The new function
`wlr_ext_image_capture_source_v1_create_with_scene_output()` takes a
wlr_scene, a reference wlr_output (for dimensions, scale,
renderer/allocator), and an optional wlr_output_layout (for correct
positioning). The source is created on demand in the existing output
capture manager when the compositor has called
`wlr_ext_output_image_capture_source_manager_v1_set_scene()` and
`wlr_ext_output_image_capture_source_manager_v1_set_layout()`.

If the compositor never provides a scene, the manager continues to
create the original raw output source, preserving backward compatibility
and hardware plane capture for compositors that need it.
2026-06-01 12:39:05 -04:00
..
backend backend/libinput: expose libinput context 2026-05-21 15:23:30 +00:00
interfaces ext_image_copy_capture_v1: replace schedule_frame with request_frame 2026-01-05 15:03:18 -05:00
render render/drm_syncobj: fix flags docs for wlr_drm_syncobj_timeline_waiter_init() 2026-03-27 18:02:46 +00:00
types ext_image_capture_source_v1: add scene-per-output capture source 2026-06-01 12:39:05 -04:00
util util/box: Add wlr_box_intersects 2026-03-09 22:09:40 +00:00
xwayland xwayland: add set_size_hints signal 2026-01-15 11:49:49 +01:00
backend.h backend: drop wl_display refs from docs 2025-01-11 21:36:29 +00:00
config.h.in fix typo in WLR_HAS_LIBINPUT_BACKEND description in config.h.in 2026-05-12 14:40:38 +00:00
meson.build Version pkgconfig, headers, and library for parallel installation 2024-05-27 22:15:00 +00:00
version.h.in Add wlr_version_get_{major,minor,micro}() 2025-12-13 11:06:28 +00:00
xcursor.h treewide: fix typos 2026-02-28 04:26:47 -03:00
xwayland.h xwayland: split headers 2022-11-02 19:00:23 +01:00