[D3D12]Memory Management Notes
keywords: Direct3D 12, D3D12, Vulkan, Shared GPU Memory, Heap
Documents
Differences in memory management between Direct3D 12 and Vulkan
Untangling Direct3D 12 Memory Heap Types and Pools
Vulkan Memory Types on PC and How to Use Them
Untangling Direct3D 12 Memory Heap Types and Pools
DirectX-Specs
https://microsoft.github.io/DirectX-Specs/
D3D12 GPU Upload Heaps
https://microsoft.github.io/DirectX-Specs/d3d/D3D12GPUUploadHeaps.html
GPU Memory Pools in D3D12
https://therealmjp.github.io/posts/gpu-memory-pool/
Memory Management
https://github.com/microsoft/DirectXTK12/wiki/Memory-Management
After a succesful glLinkProgram, should I delete / detach my shaders?
https://gamedev.stackexchange.com/questions/47910/after-a-succesful-gllinkprogram-should-i-delete-detach-my-shaders
Proper way to delete GLSL shader?
https://stackoverflow.com/questions/9113154/proper-way-to-delete-glsl-shader
DirectX 12’s Latest Update Offers Shared Pool of VRAM to CPU & GPU for Improved Performance in Games.
https://www.guru3d.com/news-story/directx-12s-latest-update-offers-shared-pool-of-vram-to-cpu-gpu-for-improved-performance-in-games.html
Memory Management Strategies
https://learn.microsoft.com/en-us/windows/win32/direct3d12/memory-management-strategies
Suballocation Within Buffers
https://learn.microsoft.com/en-us/windows/win32/direct3d12/large-buffers
D3D12_FEATURE_DATA_ARCHITECTURE1 structure (d3d12.h)
https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_feature_data_architecture1
[D3D12 PSO & Memory Management]Advanced Graphics Summit: ‘Marvel’s Spider-Man’ Remastered: A PC Postmortem
https://www.gdcvault.com/play/1028914/Advanced-Graphics-Summit-Marvel-s
Vulkan memory dependencies
https://github.com/philiptaylor/vulkan-sync/blob/master/memory.md
Vulkanised 2018 - Memory Management in Vulkan
https://www.youtube.com/watch?v=zSG6dPq57P8
Libraries
Easy to integrate Vulkan memory allocation library (Recommended)
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/
Easy to integrate memory allocation library for Direct3D 12 (Recommended)
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator
Shared memory between multi-process
Shared heaps
https://learn.microsoft.com/en-us/windows/win32/direct3d12/shared-heaps
A wise man makes his own decisions, but an ignorant man mindlessly follows the crowd. -Chinese Proverbs