[PATCH weston v5 13/14] compositor-drm: Calculate atomic-commit flags earlier
Pekka Paalanen
ppaalanen at gmail.com
Tue Aug 7 10:34:28 UTC 2018
On Fri, 20 Jul 2018 20:03:34 +0100
Daniel Stone <daniels at collabora.com> wrote:
> Shift up our calculation of the flags we use for atomic commits. We will
> later use this to differentiate between test-only and full commits when
> printing debug information inside drm_output_state_apply_atomic.
>
> Signed-off-by: Daniel Stone <daniels at collabora.com>
> ---
> libweston/compositor-drm.c | 25 +++++++++++++------------
> 1 file changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
> index e27671437..653d13e0c 100644
> --- a/libweston/compositor-drm.c
> +++ b/libweston/compositor-drm.c
> @@ -2499,12 +2499,24 @@ drm_pending_state_apply_atomic(struct drm_pending_state *pending_state,
> struct drm_output_state *output_state, *tmp;
> struct drm_plane *plane;
> drmModeAtomicReq *req = drmModeAtomicAlloc();
> - uint32_t flags = 0;
> + uint32_t flags;
> int ret = 0;
>
> if (!req)
> return -1;
>
> + switch (mode) {
> + case DRM_STATE_APPLY_SYNC:
> + flags = 0;
> + break;
> + case DRM_STATE_APPLY_ASYNC:
> + flags = DRM_MODE_PAGE_FLIP_EVENT | DRM_MODE_ATOMIC_NONBLOCK;
> + break;
> + case DRM_STATE_TEST_ONLY:
> + flags = DRM_MODE_ATOMIC_TEST_ONLY;
> + break;
> + }
> +
> if (b->state_invalid) {
> struct weston_head *head_base;
> struct drm_head *head;
> @@ -2597,17 +2609,6 @@ drm_pending_state_apply_atomic(struct drm_pending_state *pending_state,
> goto out;
> }
>
> - switch (mode) {
> - case DRM_STATE_APPLY_SYNC:
> - break;
> - case DRM_STATE_APPLY_ASYNC:
> - flags |= DRM_MODE_PAGE_FLIP_EVENT | DRM_MODE_ATOMIC_NONBLOCK;
> - break;
> - case DRM_STATE_TEST_ONLY:
> - flags |= DRM_MODE_ATOMIC_TEST_ONLY;
> - break;
> - }
> -
> ret = drmModeAtomicCommit(b->drm.fd, req, flags, b);
>
> /* Test commits do not take ownership of the state; return
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180807/338f0c65/attachment.sig>
More information about the wayland-devel
mailing list