diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2019-11-15 14:32:08 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2019-11-22 17:11:36 +0200 |
commit | 48bc5efa7c167f8e9246b93a29ce256540280d60 (patch) | |
tree | 893653eec9b6f826ef314dd51788d2b6ebe2f0d8 | |
parent | 788e80db77e5e86a67fca606ac61f23682a07e71 (diff) | |
download | weston-48bc5efa7c167f8e9246b93a29ce256540280d60.tar.gz weston-48bc5efa7c167f8e9246b93a29ce256540280d60.tar.bz2 weston-48bc5efa7c167f8e9246b93a29ce256540280d60.zip |
backend-drm: Turn zpos duplicate check into an hard assert
This way we make sure we find out (if we have assigned invalid zpos
values) much faster.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-rw-r--r-- | libweston/backend-drm/state-propose.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/libweston/backend-drm/state-propose.c b/libweston/backend-drm/state-propose.c index 9c7871e0..e98e986f 100644 --- a/libweston/backend-drm/state-propose.c +++ b/libweston/backend-drm/state-propose.c @@ -593,12 +593,10 @@ out: return ps; } -static int +static void drm_output_check_zpos_plane_states(struct drm_output_state *state) { - struct drm_backend *b = state->pending_state->backend; struct drm_plane_state *ps; - int ret = 0; wl_list_for_each(ps, &state->plane_list, link) { struct wl_list *next_node = ps->link.next; @@ -628,14 +626,10 @@ drm_output_check_zpos_plane_states(struct drm_output_state *state) next_node = next_node->next; } - if (found_dup) { - ret = 1; - drm_debug(b, "\t\t\t[plane] found duplicate zpos values\n"); - break; - } + /* this should never happen so exit hard in case + * we screwed up that bad */ + assert(!found_dup); } - - return ret; } static struct drm_plane_state * @@ -988,12 +982,7 @@ drm_output_propose_state(struct weston_output *output_base, return state; /* check if we have invalid zpos values, like duplicate(s) */ - ret = drm_output_check_zpos_plane_states(state); - if (ret != 0) { - drm_debug(b, "\t\t[view] failing state generation: " - "zpos values are in-consistent\n"); - goto err; - } + drm_output_check_zpos_plane_states(state); /* Check to see if this state will actually work. */ ret = drm_pending_state_test(state->pending_state); |