backend/drm: cosmetic enhancements

This commit is contained in:
emersion 2018-09-04 23:08:45 +02:00
parent 5b13b8a12c
commit 1342393632
1 changed files with 8 additions and 7 deletions

View File

@ -265,25 +265,26 @@ static bool match_obj_(struct match_state *st, size_t skips, size_t score, size_
++replaced;
}
bool is_best = false;
for (st->res[i] = 0; st->res[i] < st->num_objs; ++st->res[i]) {
bool has_best = false;
for (size_t candidate = 0; candidate < st->num_objs; ++candidate) {
// We tried this earlier
if (st->res[i] == st->orig[i]) {
if (candidate == st->orig[i]) {
continue;
}
// Not compatible
if (!(st->objs[st->res[i]] & (1 << i))) {
if (!(st->objs[candidate] & (1 << i))) {
continue;
}
// Already taken
if (is_taken(i, st->res, st->res[i])) {
if (is_taken(i, st->res, candidate)) {
continue;
}
st->res[i] = candidate;
if (match_obj_(st, skips, score + 1, replaced, i + 1)) {
is_best = true;
has_best = true;
}
if (st->exit_early) {
@ -291,7 +292,7 @@ static bool match_obj_(struct match_state *st, size_t skips, size_t score, size_
}
}
if (is_best) {
if (has_best) {
return true;
}