Lines Matching defs:ma
167 * VK_MULTIALLOC(ma)
168 * vk_multialloc_add(&ma, &main_ptr, 1);
169 * vk_multialloc_add(&ma, &substruct1, substruct1Count);
170 * vk_multialloc_add(&ma, &substruct2, substruct2Count);
172 * if (!vk_multialloc_alloc(&ma, pAllocator, VK_ALLOCATION_SCOPE_FOO))
190 vk_multialloc_add_size_align(struct vk_multialloc *ma,
199 size_t offset = ALIGN_POT(ma->size, align);
200 ma->size = offset + size;
201 ma->align = MAX2(ma->align, align);
206 assert(ma->ptr_count < ARRAY_SIZE(ma->ptrs));
207 ma->ptrs[ma->ptr_count++] = ptr;
229 vk_multialloc_alloc(struct vk_multialloc *ma,
233 char *ptr = (char *)vk_alloc(alloc, ma->size, ma->align, scope);
239 * for (uint32_t i = 0; i < ma->ptr_count; i++)
240 * *ma->ptrs[i] = ptr + (uintptr_t)*ma->ptrs[i];
242 * Unfortunately, even though ma->ptr_count is basically guaranteed to be a
246 STATIC_ASSERT(ARRAY_SIZE(ma->ptrs) == 8);
248 if ((_i) < ma->ptr_count) \
249 *ma->ptrs[_i] = ptr + (uintptr_t)*ma->ptrs[_i]
264 vk_multialloc_alloc2(struct vk_multialloc *ma,
269 return vk_multialloc_alloc(ma, alloc ? alloc : parent_alloc, scope);
273 vk_multialloc_zalloc(struct vk_multialloc *ma,
277 void *ptr = vk_multialloc_alloc(ma, alloc, scope);
282 memset(ptr, 0, ma->size);
288 vk_multialloc_zalloc2(struct vk_multialloc *ma,
293 return vk_multialloc_zalloc(ma, alloc ? alloc : parent_alloc, scope);