summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2019-11-15 14:32:08 +0200
committerMarius Vlad <marius.vlad@collabora.com>2019-11-22 17:11:36 +0200
commit48bc5efa7c167f8e9246b93a29ce256540280d60 (patch)
tree893653eec9b6f826ef314dd51788d2b6ebe2f0d8
parent788e80db77e5e86a67fca606ac61f23682a07e71 (diff)
downloadweston-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.c21
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);