HanetakaChou / PatriotEngine

PatriotEngine aims to be a state-of-the-art real-time image synthesis engine.
https://hanetakachou.github.io/PatriotEngine
GNU Lesser General Public License v3.0
23 stars 4 forks source link

Develop the MemoryAllocator for Direct3D12 / Vulkan / Metal #60

Open HanetakaChou opened 3 years ago

HanetakaChou commented 3 years ago
HanetakaChou commented 3 years ago

The solution may depend on whether the device has another queue for transfer in addition to the queue for graphics and present. vk_async_resources https://github.com/YuqiaoZhang/vk_async_resources https://github.com/nvpro-samples/vk_async_resources

HanetakaChou commented 3 years ago

// SLOB // kernel 3.5 // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/slob.c?h=v3.5&id=28a33cbc24e4256c143dce96c7d93bf423229f92 // [Rosenberg 2012] Dan Rosenberg. "A Heap of Trouble: Breaking the Linux Kernel SLOB Allocator." Virtual Security Research 2012.

HanetakaChou commented 3 years ago
HanetakaChou commented 3 years ago

Development Notes at docs/malloc.md

HanetakaChou commented 3 years ago

Have done with the SLOB //pt_gfx_malloc_test

vkDeviceMemory <=> ID3D12Heap <=> MTLHeap
vkBindXXMemory <=> ID3D12Device::CreatePlacedResource <=> MTLHeap::makeXXX