Direct3D 12 XMemAlloc object types

When Direct3D 12 allocates memory it sets the dwAllocatorId member of the XALLOC_ATTRIBUTES structure to eXALLOCAllocatorId_D3D (128), and the dwObjectType member to a value that identifies the type of object allocated. When debugging memory allocations, either by hooking XMemAlloc or using tools such as PIX, it can be useful to know those object type values. The following tables list the dwObjectType values used by Direct3D 12 allocations.

GPU allocations

dwObjectType Object type
0 Unspecified
1 CommandBuffer
2 Writeback
3 RingTemporary
4 Resource
5 DynamicResource
6 StagingResource
7 MultimediaResourceLocal
8 MultimediaResourceLocalPinned
9 MultimediaResourceLocalCpuAccess
10 MultimediaResourceLocalCpuAccessPinned
11 MultimediaStagingResource
12 MultimediaStagingResourcePinned
13 MultimediaResourceInvisible
14 MultimediaResourceInvisiblePinned
15 Shader
16 PageDirectoryEntryBuffer
17 PageTableEntryBuffer
18 UnmapInfoBuffer
19 Presentable
20 CachedGarlicResource
21 SystemHeap
22 TiledResource
23 Low4GBCachedCoherent
24 Low4GBWriteCombined

CPU allocations

dwObjectType Object type
64 Object_ID3D10Blob
65 Object_IDXGIFactory2
66 Object_Adapter
67 Object_Output
68 Object_SwapChain
69 Object_DxgiInfoQueue
70 Object_Device
71 Object_DeferredContext
72 Object_ComputeContext
73 Object_DmaContext
74 Object_CommandList
75 Object_Resource
76 Object_RenderTargetView
77 Object_DepthStencilView
78 Object_ShaderResourceView
79 Object_UnorderedAccessView
80 Object_ShaderVs
81 Object_ShaderHs
82 Object_ShaderDs
83 Object_ShaderGs
84 Object_ShaderPs
85 Object_ShaderCs
86 Object_ID3D11ClassLinkage
87 Object_InputLayout
88 Object_BlendState
89 Object_DepthStencilState
90 Object_RasterizerState
91 Object_Sampler
92 Object_Query
93 Object_CounterSet
94 Object_CounterSample
95 Object_D3dInfoQueue
100 Object_Device11
101 Object_CommandQueue
102 Object_GraphicsCommandList
103 Object_ComputeCommandList
104 Object_CommandAllocator
105 Object_RootSignature
106 Object_GraphicsPipelineState
107 Object_DescriptorHeap
108 Object_Resource11
109 Object_Fence
110 Object_Heap12
111 Object_QueryHeap
112 Object_ComputePipelineState
113 Object_CommandSignature
114 Object_DmaCommandList
115 Object_CopyCommandList
116 Object_VideoCommandList
119 Scratch
120 BlobBuffer
121 ObjectPrivateDataList
122 ObjectPrivateDataEntry
123 SwapChainBufferList
124 DdiSubresourceUpStaging
125 CompressedLayouts
126 TiledResourceLayout
127 TileMappingData
128 OutOfMemoryBuffer
129 InfoQueue
130 HeapChunk
131 PrologEpilogWrapper
132 TinyD3D_DmaDevice
133 HlslLaunchManagerCompute
134 ShaderUserDataManager
135 MultisampleData
136 GpuMemBatch
137 ResourceAllocation
138 TrackedMalloc
139 RuntimeInterface
140 ContextCallbackInterface
141 ScratchGprManager
142 VmHeap
143 ShaderBlob
144 ShaderData
145 ShaderResourceLayout
146 GenericNew
147 NameTable
148 PixCommandListEntry
149 LowMemoryAllocator
150 AppendixContainer
151 AppendixContainerTransient
152 ResourceBarrierBatch
153 CommandBufferSection
154 FenceTable
155 ErrorFilterList
156 MiniSegmentChunk
157 Object_GraphicsPipelineState_TessCB
158 Object_TextureAddressComputer
159 Object_ResourceOM
160 VideoDevice
161 VideoCommandBufferInterface
162 VideoDecoder

See also

XMemAlloc

PIX Memory Captures