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