diff options
author | Isaac Freund <mail@isaacfreund.com> | 2022-07-06 17:47:19 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-10-24 16:19:25 +0000 |
commit | a773231c42812e56c5966fc6a035aa9c6108175a (patch) | |
tree | c49efe72c903ed6e2f3f4a7b63f72f92061886e4 /protocol | |
parent | c2d2773df57750081b16d56da13b5015d752cbd7 (diff) |
wlr-output-management: implement adaptive sync
Version 4 of the protocol adds support for reporting/setting adaptive
sync state of outputs. Implement these new requests/events in wlroots.
Diffstat (limited to 'protocol')
-rw-r--r-- | protocol/wlr-output-management-unstable-v1.xml | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/protocol/wlr-output-management-unstable-v1.xml b/protocol/wlr-output-management-unstable-v1.xml index 3568e04c..411e2f04 100644 --- a/protocol/wlr-output-management-unstable-v1.xml +++ b/protocol/wlr-output-management-unstable-v1.xml @@ -39,7 +39,7 @@ interface version number is reset. </description> - <interface name="zwlr_output_manager_v1" version="3"> + <interface name="zwlr_output_manager_v1" version="4"> <description summary="output device configuration manager"> This interface is a manager that allows reading and writing the current output device configuration. @@ -125,7 +125,7 @@ </event> </interface> - <interface name="zwlr_output_head_v1" version="3"> + <interface name="zwlr_output_head_v1" version="4"> <description summary="output device"> A head is an output device. The difference between a wl_output object and a head is that heads are advertised even if they are turned off. A head @@ -338,6 +338,22 @@ object. </description> </request> + + <!-- Version 4 additions --> + + <enum name="adaptive_sync_state" since="4"> + <entry name="disabled" value="0" summary="adaptive sync is disabled"/> + <entry name="enabled" value="1" summary="adaptive sync is enabled"/> + </enum> + + <event name="adaptive_sync" since="4"> + <description summary="current adaptive sync state"> + This event describes whether adaptive sync is currently enabled for + the head or not. Adaptive sync is also known as Variable Refresh + Rate or VRR. + </description> + <arg name="state" type="uint" enum="adaptive_sync_state"/> + </event> </interface> <interface name="zwlr_output_mode_v1" version="3"> @@ -395,7 +411,7 @@ </request> </interface> - <interface name="zwlr_output_configuration_v1" version="3"> + <interface name="zwlr_output_configuration_v1" version="4"> <description summary="output configuration"> This object is used by the client to describe a full output configuration. @@ -513,7 +529,7 @@ </request> </interface> - <interface name="zwlr_output_configuration_head_v1" version="3"> + <interface name="zwlr_output_configuration_head_v1" version="4"> <description summary="head configuration"> This object is used by the client to update a single head's configuration. @@ -526,6 +542,8 @@ <entry name="invalid_custom_mode" value="3" summary="mode is invalid"/> <entry name="invalid_transform" value="4" summary="transform value outside enum"/> <entry name="invalid_scale" value="5" summary="scale negative or zero"/> + <entry name="invalid_adaptive_sync_state" value="6" since="4" + summary="invalid enum value used in the set_adaptive_sync request"/> </enum> <request name="set_mode"> @@ -569,5 +587,15 @@ </description> <arg name="scale" type="fixed"/> </request> + + <!-- Version 4 additions --> + + <request name="set_adaptive_sync" since="4"> + <description summary="enable/disable adaptive sync"> + This request enables/disables adaptive sync. Adaptive sync is also + known as Variable Refresh Rate or VRR. + </description> + <arg name="state" type="uint" enum="zwlr_output_head_v1.adaptive_sync_state"/> + </request> </interface> </protocol> |