diff --git a/src/vulkan/util/vk_alloc.h b/src/vulkan/util/vk_alloc.h index c01c7c5fb0a..973f54c4cd1 100644 --- a/src/vulkan/util/vk_alloc.h +++ b/src/vulkan/util/vk_alloc.h @@ -181,7 +181,7 @@ struct vk_multialloc { size_t align; uint32_t ptr_count; - void **ptrs[8]; + void **ptrs[12]; }; #define VK_MULTIALLOC(_name) \ @@ -244,7 +244,7 @@ vk_multialloc_alloc(struct vk_multialloc *ma, * constant, GCC is incapable of figuring this out and unrolling the loop * so we have to give it a little help. */ - STATIC_ASSERT(ARRAY_SIZE(ma->ptrs) == 8); + STATIC_ASSERT(ARRAY_SIZE(ma->ptrs) == 12); #define _VK_MULTIALLOC_UPDATE_POINTER(_i) \ if ((_i) < ma->ptr_count) \ *ma->ptrs[_i] = (char *)ptr + (uintptr_t)*ma->ptrs[_i] @@ -256,6 +256,10 @@ vk_multialloc_alloc(struct vk_multialloc *ma, _VK_MULTIALLOC_UPDATE_POINTER(5); _VK_MULTIALLOC_UPDATE_POINTER(6); _VK_MULTIALLOC_UPDATE_POINTER(7); + _VK_MULTIALLOC_UPDATE_POINTER(8); + _VK_MULTIALLOC_UPDATE_POINTER(9); + _VK_MULTIALLOC_UPDATE_POINTER(10); + _VK_MULTIALLOC_UPDATE_POINTER(11); #undef _VK_MULTIALLOC_UPDATE_POINTER return ptr;