diff options
author | Alexander Orzechowski <orzechowski.alexander@gmail.com> | 2022-06-25 23:26:12 -0400 |
---|---|---|
committer | Alexander Orzechowski <orzechowski.alexander@gmail.com> | 2022-08-14 02:38:50 -0400 |
commit | 18417026be9b9ac0f269c99fa3bfd49d7cb91330 (patch) | |
tree | 3d74ec5f34bc0f057266f235ee4c84284fcb9561 /include | |
parent | 0a9a941ba329d10c08a6f638a0b22b60b7c92d0f (diff) |
wlr_scene: Introduce buffer opaque region metadata
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/types/wlr_scene.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h index efdd6061..d6b89156 100644 --- a/include/wlr/types/wlr_scene.h +++ b/include/wlr/types/wlr_scene.h @@ -156,6 +156,7 @@ struct wlr_scene_buffer { struct wlr_fbox src_box; int dst_width, dst_height; enum wl_output_transform transform; + pixman_region32_t opaque_region; }; struct wlr_scene_output_render_list { @@ -347,6 +348,13 @@ void wlr_scene_buffer_set_buffer_with_damage(struct wlr_scene_buffer *scene_buff struct wlr_buffer *buffer, pixman_region32_t *region); /** + * Sets the buffer's opaque region. This is an optimization hint used to + * determine if buffers which reside under this one need to be rendered or not. + */ +void wlr_scene_buffer_set_opaque_region(struct wlr_scene_buffer *scene_buffer, + pixman_region32_t *region); + +/** * Set the source rectangle describing the region of the buffer which will be * sampled to render this node. This allows cropping the buffer. * |