backend/drm: Add async page flip support to legacy

Atomic doesn't support such flags yet.
This commit is contained in:
vaxerski 2023-09-28 17:21:22 +01:00 committed by Simon Zeni
parent 5dec1c8bcb
commit c2aa7fd965
5 changed files with 30 additions and 2 deletions

View file

@ -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 {

View file

@ -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;