diff options
author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-09-28 17:21:22 +0100 |
---|---|---|
committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2023-09-28 16:53:08 +0000 |
commit | c2aa7fd965cb7ee8bed24f4122b720aca8f0fc1e (patch) | |
tree | 6b342883b5e0d2c8a194aafb3c402b1bca096a2c /include | |
parent | 5dec1c8bcb208fc0341a538dd46d96b3970c9def (diff) |
backend/drm: Add async page flip support to legacy
Atomic doesn't support such flags yet.
Diffstat (limited to 'include')
-rw-r--r-- | include/backend/drm/drm.h | 2 | ||||
-rw-r--r-- | include/wlr/types/wlr_output.h | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index 4b92c5eb..69416925 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -114,6 +114,8 @@ struct wlr_drm_backend { uint64_t cursor_width, cursor_height; struct wlr_drm_format_set mgpu_formats; + + bool supports_tearing_page_flips; }; struct wlr_drm_mode { diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index 30331fba..de7ea332 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -89,6 +89,12 @@ struct wlr_output_state { enum wl_output_subpixel subpixel; struct wlr_buffer *buffer; + /* Request a tearing page-flip. When enabled, this may cause the output to + * display a part of the previous buffer and a part of the current buffer at + * the same time. The backend may reject the commit if a tearing page-flip + * cannot be performed, in which case the caller should fall back to a + * regular page-flip at the next wlr_output.frame event. */ + bool tearing_page_flip; enum wlr_output_state_mode_type mode_type; struct wlr_output_mode *mode; |