Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

output-management: Add more detailed vrr configuration #42

Merged
merged 1 commit into from
Nov 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 52 additions & 4 deletions unstable/cosmic-output-management-unstable-v1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
it's best to be forward compatible.
</description>

<interface name="zcosmic_output_manager_v1" version="1">
<interface name="zcosmic_output_manager_v1" version="2">
<description summary="Output configuration manager">
This interface provides extension points for wlr-output-management types.
</description>
Expand Down Expand Up @@ -90,7 +90,7 @@
</request>
</interface>

<interface name="zcosmic_output_head_v1" version="1">
<interface name="zcosmic_output_head_v1" version="2">
<description summary="Output extension object">
Extension to zwlr_output_head_v1.

Expand Down Expand Up @@ -129,6 +129,38 @@
in the head object anymore.
</description>
</request>

<!-- version 2 additions -->

<event name="adaptive_sync_available" since="2">
<description summary="is adaptive_sync available for this head">
This events describes if adaptive_sync is available for this head.

It is only sent if the output is enabled.
</description>
<arg name="available" type="uint" enum="adaptive_sync_availability"/>
</event>

<enum name="adaptive_sync_availability" since="2">
<entry name="unsupported" value="0" summary="adaptive sync is not supported"/>
<entry name="requires_modeset" value="1" summary="automatic adaptive_sync is unavailable"/>
<entry name="supported" value="2" summary="adaptive sync is supported in all states"/>
</enum>

<event name="adaptive_sync_ext" since="2">
<description summary="current adaptive_sync state">
This events describes the adaptive_sync state of this head.

It is only sent if the output is enabled.
</description>
<arg name="state" type="uint" enum="adaptive_sync_state_ext"/>
</event>

<enum name="adaptive_sync_state_ext" since="2">
<entry name="disabled" value="0" summary="adaptive sync is disabled"/>
<entry name="automatic" value="1" summary="adaptive sync will be actived automatically"/>
<entry name="always" value="2" summary="adaptive sync is forced to be always active"/>
</enum>
</interface>

<interface name="zcosmic_output_configuration_v1" version="1">
Expand Down Expand Up @@ -191,13 +223,14 @@
</request>
</interface>

<interface name="zcosmic_output_configuration_head_v1" version="1">
<interface name="zcosmic_output_configuration_head_v1" version="2">
<description summary="Output configuration head extension object">
Extension to zwlr_output_configuration_head_v1.

Adds additional/alternative parameters to the original zwlr_output_configuration_head_v1.

Once the original `zwlr_output_configuration_head_v1` is destroyed this object will also be destroyed.
Once the original `zwlr_output_configuration_head_v1` is destroyed this object will
become inert and all requests except `release` will be ignored.
</description>

<request name="set_scale_1000">
Expand All @@ -221,5 +254,20 @@
until it is destroyed.
</description>
</request>

<!-- version 2 additions -->

<request name="set_adaptive_sync_ext" since="2">
<description summary="set adaptive sync state">
This request requests a new adaptive sync state.

This request is meant to be used in place of `zwlr_output_configuration_head_v1::set_adaptive_sync`.
Using `set_adaptive_sync` and `set_adaptive_sync_ext` at once will thus raise an `already_set` error on the
original `zwlr_output_configuration_head_v1`.

Any request conflicting with `set_adaptive_sync` will also conflict with `set_adaptive_sync_ext`.
</description>
<arg name="state" type="uint" enum="zcosmic_output_head_v1.adaptive_sync_state_ext"/>
</request>
</interface>
</protocol>
Loading