diff options
Diffstat (limited to 'render')
-rw-r--r-- | render/drm_format_set.c | 16 |
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) { |