Simon Ser
9b4d9eabb1
color_management_v1: add helpers to get supported TFs/primaries
...
This avoids hardcoding lists of TFs/primaries in compositors.
I've considered adding wlr_color_manager_v1_create_with_renderer()
instead, but I'm worried that some aspects of the options struct
don't really depend on the renderer, but on the compositor. Such
things are features and render intents.
I've considered returning a const array, but this would tie our
hands if we want to make the renderer advertise the set of
TFs/primaries it supports, instead of having a single flag gating
all of them.
2025-12-15 11:07:26 -05:00
tokyo4j
ba931024a5
Add wlr_version_get_{major,minor,micro}()
...
Can be used to detect wlroots version at runtime rather than
compile-time.
2025-12-13 11:06:28 +00:00
Ilia Bozhinov
0e9c6ddefa
seat: add wlr_seat_touch_notify_clear_focus
...
This is needed for cases where the touch operation goes over a region
where no surfaces are present. In this case, we'd want to notify the
touch grabs (for example DnD grabs) that no focus is currently focused.
2025-12-11 21:10:59 +00:00
Félix Poisot
a962d58727
render/color: make wlr_color_primaries_from_named public
2025-12-05 19:14:49 +00:00
Félix Poisot
811765ffa0
output: don't rebuild cursor color transform for each update
2025-11-24 23:26:14 +00:00
Félix Poisot
7101a69804
scene: don't rebuild color transforms each frame
2025-11-24 23:26:14 +00:00
Félix Poisot
3d3d5fb1b7
render: remove buffer primaries from pass options
...
colorspace conversion is now carried explicitely by setting a
wlr_color_transform_matrix in the color transform
2025-11-24 23:26:14 +00:00
Simon Ser
2995f31102
render/color: introduce wlr_color_transform_matrix
...
This is useful to perform color space conversions.
2025-11-24 23:26:14 +00:00
Félix Poisot
17f3f28865
render/color: add wlr_color_primaries_transform_absolute_colorimetric
2025-11-24 23:26:14 +00:00
Simon Ser
fa7b66bcf4
color_representation_v1: add helper to create global from renderer
2025-11-13 10:35:56 -05:00
Simon Ser
2fbc0b5ac1
scene: add support for color encoding and range
2025-11-13 10:35:56 -05:00
Simon Ser
e8f9e9eea6
color_representation_v1: make supported_alpha_modes const
2025-11-13 10:35:56 -05:00
Simon Ser
2a87ec8a35
render: add color encoding and range to wlr_render_texture_options
2025-11-13 10:35:56 -05:00
Simon Ser
378a491823
render/color: turn enum wlr_color_encoding into a bitfield
...
This will allow us to describe the set of supported encodings as
a bitfield.
2025-11-13 10:35:56 -05:00
Félix Poisot
8f7d763ad1
drm: save edid color characteristics in wlr_output
2025-11-06 10:29:12 +00:00
Simon Ser
989cffe70d
scene: add software fallback for gamma LUT
2025-10-18 20:36:01 +02:00
Simon Ser
3e08e3be4a
gamma_control_v1: introduce fallback_gamma_size
2025-10-18 20:36:01 +02:00
Simon Ser
91f4890ec2
gamma_control_v1: add wlr_gamma_control_v1_get_color_transform()
2025-10-18 20:36:01 +02:00
Simon Ser
74ce6c22a5
output: check for color transform no-op changes
...
This allows callers to always set this state and not care whether
the output currently has the same color transform applied.
2025-10-18 20:36:01 +02:00
Simon Ser
0b58bddf13
render/color: add wlr_color_transform_pipeline
...
Useful to apply multiple transforms in sequence, e.g. sRGB inverse
EOTF followed by gamma LUTs.
2025-10-18 20:36:01 +02:00
Simon Ser
3d36ab9211
render/color: add wlr_color_transform_eval()
...
Makes it so the Vulkan renderer can handle arbitrary color
transforms, and doesn't need to be updated each time a new one is
added.
2025-10-18 20:35:02 +02:00
llyyr
6e1c8748ff
render: introduce bt.1886 transfer function
2025-10-04 18:13:37 +05:30
Félix Poisot
d8fb7adcf0
scene, render: use Gamma 2.2 TF as default
2025-10-03 19:48:12 +00:00
Félix Poisot
c2d9ae2142
render: introduce Gamma 2.2 color transform
2025-10-03 19:39:17 +00:00
Simon Ser
7cb3393e75
scene: send color_management_v1 surface feedback
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3999
2025-09-23 09:22:00 -04:00
Simon Ser
26c1476827
color_management_v1: add destroy event to manager
2025-09-23 09:22:00 -04:00
Simon Ser
138210f01c
color_management_v1: make from_wlr enum converters public
...
This can be useful for compositors to set surface feedback.
2025-09-23 09:22:00 -04:00
tokyo4j
102a6bd415
input-method: use NULL when emitting signals
2025-09-08 10:56:57 -04:00
tokyo4j
06aacb2a6f
input-method: rename input_method event to new_input_method
2025-09-08 10:56:57 -04:00
Simon Zeni
0166fd9eb7
drm-lease-v1: remove connector active_lease & lease connectors
...
Upon leasing, the wlr_drm_lease_connector_v1 will be automatically clean up by the wlr_output
destroy handler. There is no need for the wlr_drm_lease_manager to keep track of leased connectors.
2025-08-28 16:33:35 +00:00
Simon Zeni
423afc3fc9
types: deprecate wlr-screencopy-unstable-v1
2025-08-28 16:23:56 +00:00
rewine
b799ffc6ae
docs: deprecate legacy wlr_data_control_v1 interface
...
Add deprecation notice for wlr_data_control_v1, indicating that
it's superseded by ext-data-control-v1.
Related: https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/136
2025-08-27 14:53:28 -04:00
Kirill Primak
ad1b2f2819
Avoid including generated headers publicly where possible
...
This is possible now that w-p ships enum headers. The remaining includes
are from wlr-protocols.
2025-08-13 22:46:37 +02:00
Kirill Primak
812675ba34
fixes: add implementation
2025-08-13 20:41:21 +00:00
rewine
c8b7600adc
wlr_ext_data_control_v1: Make all listeners private
...
For more context, see: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4873
2025-07-30 12:37:19 +00:00
Simon Ser
47a90d6f1a
color_management_v1: add helpers to convert TF/primaries enums
...
This makes it easier for protocol implementers to tie everything
together with wlroots backends and renderers.
2025-07-24 15:02:39 +00:00
David Turner
a4eb2cff46
color-representation-v1: Add wlr enums + converters
...
Add wlr-internal enums for the properties specified in
color-representation-v1 (encoding, range, chroma siting, alpha mode) so
that other parts of wlroots can use these without depending on the
protocol specifics and without needing to include the protocol headers.
Also add conversion functions to convert the protocol enum values into
the wlroots enum values.
2025-07-17 16:41:14 +01:00
David Turner
eff620770c
color-representation-v1: new protocol
...
Add a minimal implementation of the color-representation-v1 protocol
(not including anything to actually use the new properties in
rendering/scanout)
2025-07-17 16:40:45 +01:00
Simon Ser
f4327f52cf
xdg-toplevel-tag-v1: new protocol
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/238
2025-07-07 09:10:37 +00:00
Consolatis
6aa654b728
wlr_text_input_v3: remove event arguments from header
...
Fixes 2d5492c737
2025-07-06 14:10:25 +02:00
Simon Ser
aecb867098
output: add full HDR metadata to wlr_output_image_description
...
This allows sinks to improve their tone mapping.
2025-06-26 11:02:26 +00:00
Simon Ser
bf40f396bf
scene: grab image description from output state
...
Alternative to https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5089
2025-06-26 09:56:12 +00:00
Simon Ser
e76f8ac2b3
output: add wlr_output.image_description
...
Stores the current image description.
2025-06-26 09:56:12 +00:00
tokyo4j
6d8bb66f98
xwm: add support for _NET_WM_ICON
2025-06-26 08:50:02 +00:00
Simon Ser
071773cb27
scene: add primaries support to wlr_scene_buffer
2025-06-18 19:37:55 +00:00
Simon Ser
fa1feb447f
render, render/vulkan: add primaries to wlr_render_texture_options
2025-06-18 19:37:55 +00:00
Simon Ser
4efec11721
scene: add transfer function support for wlr_scene_buffer
2025-06-18 19:37:55 +00:00
Simon Ser
dd3d9be41e
render/pass: add wlr_render_texture_options.transfer_function
...
Also add a bit in wlr_renderer.features to indicate support.
2025-06-18 19:37:55 +00:00
Simon Ser
0ee0452af0
render/color, render/vulkan: add EXT_LINEAR to enum wlr_color_transfer_function
2025-06-18 19:37:55 +00:00
Simon Ser
dc258b2237
output: add transfer function to image description
2025-06-18 00:11:33 +02:00