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 <dani...@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 -- 2.17.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel