|  |  |  | @ -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) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |