aboutsummaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/drm_format_set.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/render/drm_format_set.c b/render/drm_format_set.c
index 2412144c..52603db7 100644
--- a/render/drm_format_set.c
+++ b/render/drm_format_set.c
@@ -64,10 +64,12 @@ bool wlr_drm_format_set_add(struct wlr_drm_format_set *set, uint32_t format,
return wlr_drm_format_add(*ptr, modifier);
}
- struct wlr_drm_format *fmt = wlr_drm_format_create(format);
+ struct wlr_drm_format *fmt = calloc(1, sizeof(*fmt));
if (!fmt) {
return false;
}
+
+ wlr_drm_format_init(fmt, format);
if (!wlr_drm_format_add(fmt, modifier)) {
wlr_drm_format_finish(fmt);
return false;
@@ -92,17 +94,9 @@ bool wlr_drm_format_set_add(struct wlr_drm_format_set *set, uint32_t format,
return true;
}
-struct wlr_drm_format *wlr_drm_format_create(uint32_t format) {
- size_t capacity = 4;
- struct wlr_drm_format *fmt = calloc(1, sizeof(*fmt));
- if (!fmt) {
- wlr_log_errno(WLR_ERROR, "Allocation failed");
- return NULL;
- }
+void wlr_drm_format_init(struct wlr_drm_format *fmt, uint32_t format) {
+ memset(fmt, 0, sizeof(*fmt));
fmt->format = format;
- fmt->capacity = capacity;
- fmt->modifiers = malloc(sizeof(*fmt->modifiers) * capacity);
- return fmt;
}
bool wlr_drm_format_has(const struct wlr_drm_format *fmt, uint64_t modifier) {