diff options
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_output_layer.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_output_layer.h b/include/wlr/types/wlr_output_layer.h index e9b899a9..9f787e2c 100644 --- a/include/wlr/types/wlr_output_layer.h +++ b/include/wlr/types/wlr_output_layer.h @@ -9,6 +9,7 @@ #ifndef WLR_TYPES_WLR_OUTPUT_LAYER_H #define WLR_TYPES_WLR_OUTPUT_LAYER_H +#include <wlr/render/drm_format_set.h> #include <wlr/types/wlr_output.h> #include <wlr/util/addon.h> @@ -36,6 +37,10 @@ struct wlr_output_layer { struct wl_list link; // wlr_output.layers struct wlr_addon_set addons; + struct { + struct wl_signal feedback; // struct wlr_output_layer_feedback_event + } events; + void *data; }; @@ -57,6 +62,18 @@ struct wlr_output_layer_state { }; /** + * Feedback for an output layer. + * + * After an output commit, if the backend is not able to display a layer, it + * can send feedback events. These events can be used to re-allocate the + * layer's buffers so that they have a higher chance to get displayed. + */ +struct wlr_output_layer_feedback_event { + dev_t target_device; + const struct wlr_drm_format_set *formats; +}; + +/** * Create a new output layer. */ struct wlr_output_layer *wlr_output_layer_create(struct wlr_output *output); |