diff options
author | Alexander Orzechowski <alex@ozal.ski> | 2023-02-20 16:54:52 -0500 |
---|---|---|
committer | Alexander Orzechowski <alex@ozal.ski> | 2023-02-20 17:21:17 -0500 |
commit | 3ef9f9128306cac549a99a3e844b3e55f9381279 (patch) | |
tree | e791f05ee48323a0c20fbdfcc6c6e13d372f1129 /include/wlr | |
parent | 4ddc20e14c5413a74e71d68b642dda09ecdf2fac (diff) |
wlr_scene: Add dmabuf_feedback helper
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_scene.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h index 19924090..b6f0d217 100644 --- a/include/wlr/types/wlr_scene.h +++ b/include/wlr/types/wlr_scene.h @@ -38,6 +38,7 @@ struct wlr_scene_node; struct wlr_scene_buffer; struct wlr_presentation; +struct wlr_linux_dmabuf_v1; typedef bool (*wlr_scene_buffer_point_accepts_input_func_t)( struct wlr_scene_buffer *buffer, int sx, int sy); @@ -95,10 +96,12 @@ struct wlr_scene { // May be NULL struct wlr_presentation *presentation; + struct wlr_linux_dmabuf_v1 *linux_dmabuf_v1; // private state struct wl_listener presentation_destroy; + struct wl_listener linux_dmabuf_v1_destroy; enum wlr_scene_debug_damage_option debug_damage_option; bool direct_scanout; @@ -169,6 +172,7 @@ struct wlr_scene_buffer { int dst_width, dst_height; enum wl_output_transform transform; pixman_region32_t opaque_region; + struct wlr_linux_dmabuf_feedback_v1_init_options prev_feedback_options; }; /** A viewport for an output in the scene-graph */ @@ -288,6 +292,15 @@ void wlr_scene_set_presentation(struct wlr_scene *scene, struct wlr_presentation *presentation); /** + * Handles linux_dmabuf_v1 feedback for all surfaces in the scene. + * + * Asserts that a struct wlr_linux_dmabuf_v1 hasn't already been set for the scene. + */ +void wlr_scene_set_linux_dmabuf_v1(struct wlr_scene *scene, + struct wlr_linux_dmabuf_v1 *linux_dmabuf_v1); + + +/** * Add a node displaying nothing but its children. */ struct wlr_scene_tree *wlr_scene_tree_create(struct wlr_scene_tree *parent); |