TerraFX.Interop.D3D12MemoryAllocator 3.0.1

Prefix Reserved

Requires NuGet 4.3 or higher.

dotnet add package TerraFX.Interop.D3D12MemoryAllocator --version 3.0.1
                    
NuGet\Install-Package TerraFX.Interop.D3D12MemoryAllocator -Version 3.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TerraFX.Interop.D3D12MemoryAllocator" Version="3.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TerraFX.Interop.D3D12MemoryAllocator" Version="3.0.1" />
                    
Directory.Packages.props
<PackageReference Include="TerraFX.Interop.D3D12MemoryAllocator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TerraFX.Interop.D3D12MemoryAllocator --version 3.0.1
                    
#r "nuget: TerraFX.Interop.D3D12MemoryAllocator, 3.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TerraFX.Interop.D3D12MemoryAllocator@3.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TerraFX.Interop.D3D12MemoryAllocator&version=3.0.1
                    
Install as a Cake Addin
#tool nuget:?package=TerraFX.Interop.D3D12MemoryAllocator&version=3.0.1
                    
Install as a Cake Tool

TerraFX.Interop.D3D12MemoryAllocator

Managed port of D3D12MemoryAllocator.

ci Discord

Packages are available at: https://github.com/orgs/terrafx/packages or via the NuGet Feed URL: https://pkgs.terrafx.dev/index.json

Table of Contents

Code of Conduct

TerraFX and everyone contributing (this includes issues, pull requests, the wiki, etc) must abide by the .NET Foundation Code of Conduct: https://dotnetfoundation.org/about/code-of-conduct.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at conduct@dotnetfoundation.org.

License

Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.

Contributing

If you are looking to contribute you should read our Contributing documentation.

Goals

Provide a managed port of GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator

The library is blittable, trim safe, AOT compatible, and as close to 1-to-1 with the underlying C API definitions as feasible. The general setup is fully compatible with the native definitions and could even be used against native exports that produce the relevant allocation objects if that were desired; however, since all the code is present this is primarily a port of the logic and doesn't rely on the original native library existing.

.NET Foundation

This project is supported by the .NET Foundation.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on TerraFX.Interop.D3D12MemoryAllocator:

Package Downloads
ComputeSharp.D3D12MemoryAllocator

An extension library for ComputeSharp to enable using D3D12MA as the memory allocator for graphics resources.

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on TerraFX.Interop.D3D12MemoryAllocator:

Repository Stars
Sergio0694/ComputeSharp
A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
amerkoleci/alimer
Cross-platform .NET 10 C# game engine.
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
Version Downloads Last Updated
3.0.1 246 10/29/2025
2.0.1.6 201 10/22/2025
2.0.1.5 5,360 12/30/2023
2.0.1.4 8,338 6/26/2023
2.0.1.3 8,043 2/12/2023
2.0.1.2 8,749 11/7/2022
2.0.1.1 1,635 10/9/2022
2.0.1 2,924 10/7/2022
2.0.0-beta3 19,653 11/15/2021
2.0.0-beta2 2,188 7/11/2021
2.0.0-beta1 2,171 3/6/2021