mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
drm_format_set_intersect: Require initialized dst and remove assert
The usages in linux_dmabuf zero out the dst before passing it so this change should be fine.
This commit is contained in:
parent
1ee75786b4
commit
5adb1be3a7
2 changed files with 3 additions and 3 deletions
|
@ -73,7 +73,8 @@ bool wlr_drm_format_set_add(struct wlr_drm_format_set *set, uint32_t format,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Intersect two DRM format sets `a` and `b`, storing in the destination set
|
* Intersect two DRM format sets `a` and `b`, storing in the destination set
|
||||||
* `dst` the format + modifier pairs which are in both source sets.
|
* `dst` the format + modifier pairs which are in both source sets. The `dst`
|
||||||
|
* must either be zeroed or initialized with other state to be replaced.
|
||||||
*
|
*
|
||||||
* Returns false on failure or when the intersection is empty.
|
* Returns false on failure or when the intersection is empty.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -205,8 +205,6 @@ struct wlr_drm_format *wlr_drm_format_intersect(
|
||||||
|
|
||||||
bool wlr_drm_format_set_intersect(struct wlr_drm_format_set *dst,
|
bool wlr_drm_format_set_intersect(struct wlr_drm_format_set *dst,
|
||||||
const struct wlr_drm_format_set *a, const struct wlr_drm_format_set *b) {
|
const struct wlr_drm_format_set *a, const struct wlr_drm_format_set *b) {
|
||||||
assert(dst != a && dst != b);
|
|
||||||
|
|
||||||
struct wlr_drm_format_set out = {0};
|
struct wlr_drm_format_set out = {0};
|
||||||
out.capacity = a->len < b->len ? a->len : b->len;
|
out.capacity = a->len < b->len ? a->len : b->len;
|
||||||
out.formats = calloc(out.capacity, sizeof(struct wlr_drm_format *));
|
out.formats = calloc(out.capacity, sizeof(struct wlr_drm_format *));
|
||||||
|
@ -237,6 +235,7 @@ bool wlr_drm_format_set_intersect(struct wlr_drm_format_set *dst,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_drm_format_set_finish(dst);
|
||||||
*dst = out;
|
*dst = out;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue