From 05eee6eaefeaa5e1efc7eb05c3a9e56542f6fd35 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Fri, 6 Jan 2023 12:00:47 -0600 Subject: [PATCH] drm: Pass paint node to drm_view_transform_supported Rename it as well. By passing the paint node we'll have access to the cached buffer to output matrix later. Signed-off-by: Derek Foreman --- libweston/backend-drm/drm-internal.h | 3 ++- libweston/backend-drm/fb.c | 2 +- libweston/backend-drm/state-helpers.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libweston/backend-drm/drm-internal.h b/libweston/backend-drm/drm-internal.h index 9600c1c77..8499ecc91 100644 --- a/libweston/backend-drm/drm-internal.h +++ b/libweston/backend-drm/drm-internal.h @@ -663,8 +663,9 @@ struct drm_head * drm_head_find_by_connector(struct drm_backend *backend, uint32_t connector_id); static inline bool -drm_view_transform_supported(struct weston_view *ev, struct weston_output *output) +drm_paint_node_transform_supported(struct weston_paint_node *node, struct weston_output *output) { + struct weston_view *ev = node->view; struct weston_matrix transform; enum wl_output_transform wt; diff --git a/libweston/backend-drm/fb.c b/libweston/backend-drm/fb.c index 0c7faa4bb..1168564ea 100644 --- a/libweston/backend-drm/fb.c +++ b/libweston/backend-drm/fb.c @@ -546,7 +546,7 @@ drm_fb_get_from_paint_node(struct drm_output_state *state, return NULL; } - if (!drm_view_transform_supported(ev, &output->base)) { + if (!drm_paint_node_transform_supported(pnode, &output->base)) { pnode->try_view_on_plane_failure_reasons |= FAILURE_REASONS_INCOMPATIBLE_TRANSFORM; return NULL; diff --git a/libweston/backend-drm/state-helpers.c b/libweston/backend-drm/state-helpers.c index 6a6811ab5..ff6c72f95 100644 --- a/libweston/backend-drm/state-helpers.c +++ b/libweston/backend-drm/state-helpers.c @@ -215,7 +215,7 @@ drm_plane_state_coords_for_paint_node(struct drm_plane_state *state, pixman_box32_t *box; float sxf1, syf1, sxf2, syf2; - if (!drm_view_transform_supported(ev, &output->base)) + if (!drm_paint_node_transform_supported(node, &output->base)) return false; /* Update the base weston_plane co-ordinates. */