aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
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;