From 8c70245d5fe044f09882653437e0a9dc7c336a0c Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 18 Jun 2021 12:40:07 +0200 Subject: output: fail commits if adaptive sync cannot be enabled Previously, adaptive sync was just a hint and wouldn't make any atomic commit fail if the backend didn't support it. The main reason is wlr_output_test wasn't supported at the time. Now that we have a way for compositors to test whether a change can work, let's remove the exception for adaptive sync and convert it to a regular output state field. --- include/wlr/interfaces/wlr_output.h | 1 - include/wlr/types/wlr_output.h | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include/wlr') diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h index 7a1252db..7ef3de98 100644 --- a/include/wlr/interfaces/wlr_output.h +++ b/include/wlr/interfaces/wlr_output.h @@ -22,7 +22,6 @@ WLR_OUTPUT_STATE_SCALE | \ WLR_OUTPUT_STATE_TRANSFORM | \ WLR_OUTPUT_STATE_RENDER_FORMAT | \ - WLR_OUTPUT_STATE_ADAPTIVE_SYNC_ENABLED | \ WLR_OUTPUT_STATE_SUBPIXEL) /** diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index 4f8bff0d..2a290b46 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -301,7 +301,10 @@ void wlr_output_set_transform(struct wlr_output *output, enum wl_output_transform transform); /** * Enables or disables adaptive sync (ie. variable refresh rate) on this - * output. This is just a hint, the backend is free to ignore this setting. + * output. On some backends, this is just a hint and may be ignored. + * Compositors can inspect `wlr_output.adaptive_sync_status` to query the + * effective status. Backends that don't support adaptive sync will reject + * the output commit. * * When enabled, compositors can submit frames a little bit later than the * deadline without dropping a frame. -- cgit v1.2.3