backend/drm: use separate field to store pending cursor FB

We'll move the pending primary FB into the connector state in the
next commit, dropping wlr_drm_plane.pending_fb in the process.
Introduce a dedicated field for the cursor, which has to be managed
in a special way due to our set_cursor API.
This commit is contained in:
Simon Ser 2022-12-06 17:34:05 +01:00
parent 602f0d3be5
commit ae61cd6bfb
4 changed files with 21 additions and 4 deletions

View file

@ -120,6 +120,8 @@ struct wlr_drm_connector {
int cursor_x, cursor_y;
int cursor_width, cursor_height;
int cursor_hotspot_x, cursor_hotspot_y;
/* Buffer to be submitted to the kernel on the next page-flip */
struct wlr_drm_fb *cursor_pending_fb;
struct wl_list link;
@ -152,6 +154,7 @@ size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm,
void drm_lease_destroy(struct wlr_drm_lease *lease);
struct wlr_drm_fb *plane_get_next_fb(struct wlr_drm_plane *plane);
struct wlr_drm_fb *get_next_cursor_fb(struct wlr_drm_connector *conn);
#define wlr_drm_conn_log(conn, verb, fmt, ...) \
wlr_log(verb, "connector %s: " fmt, conn->name, ##__VA_ARGS__)