output: add wlr_output.image_description

Stores the current image description.
This commit is contained in:
Simon Ser 2025-06-19 13:34:19 +02:00 committed by Kenny Levinsen
parent 6d8bb66f98
commit e76f8ac2b3
2 changed files with 11 additions and 0 deletions

View file

@ -193,6 +193,7 @@ struct wlr_output {
enum wl_output_transform transform;
enum wlr_output_adaptive_sync_status adaptive_sync_status;
uint32_t render_format;
const struct wlr_output_image_description *image_description;
// Indicates whether making changes to adaptive sync status is supported.
// If false, changes to adaptive sync status is guaranteed to fail. If
@ -255,6 +256,7 @@ struct wlr_output {
struct {
struct wl_listener display_destroy;
struct wlr_output_image_description image_description_value;
} WLR_PRIVATE;
};

View file

@ -233,6 +233,15 @@ static void output_apply_state(struct wlr_output *output,
output->transform = state->transform;
}
if (state->committed & WLR_OUTPUT_STATE_IMAGE_DESCRIPTION) {
if (state->image_description != NULL) {
output->image_description_value = *state->image_description;
output->image_description = &output->image_description_value;
} else {
output->image_description = NULL;
}
}
bool geometry_updated = state->committed &
(WLR_OUTPUT_STATE_MODE | WLR_OUTPUT_STATE_TRANSFORM |
WLR_OUTPUT_STATE_SUBPIXEL);