aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-09-28 17:21:22 +0100
committerSimon Zeni <simon@bl4ckb0ne.ca>2023-09-28 16:53:08 +0000
commitc2aa7fd965cb7ee8bed24f4122b720aca8f0fc1e (patch)
tree6b342883b5e0d2c8a194aafb3c402b1bca096a2c /include
parent5dec1c8bcb208fc0341a538dd46d96b3970c9def (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.h2
-rw-r--r--include/wlr/types/wlr_output.h6
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;