| Support for external allocators: (#748) * The newly introduced API surface area matches that of VMA's advanced usage and another hand-rolled memory allocator in a content-heavy application. * All suballocator callbacks -- allocate, bind image, bind buffer, map, unmap and free -- are expected to guard VkDeviceMemory operations within a mutex. * Each texture now also keeps track of its VkDeviceMemory offset. * The 64 bit allocationId is to be used as a book-keeping measure by external suballocator callbacks to keep track of and free up suballocations. The external allocator can use a hashtable (ala std::unordered_map in C++) to keep track of the page(s) alloted to this suballocation. ('Pages' here refers to potential sparse bindings). * Add a VkLoadTest for suballocation callbacks | 2 年前 |