> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_MEMORY_POOL

> Specifies the memory pool for the heap.

Specifies the memory pool for the heap.

## Syntax

```cpp theme={null}
typedef enum D3D12_MEMORY_POOL
{
    D3D12_MEMORY_POOL_UNKNOWN = 0,
    D3D12_MEMORY_POOL_L0 = 1,
    D3D12_MEMORY_POOL_L1 = 2
} D3D12_MEMORY_POOL
```

## Constants

| Constant                     | Description                                                                                                                                                                                                                                                                |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_MEMORY\_POOL\_UNKNOWN | The memory pool is unknown.                                                                                                                                                                                                                                                |
| D3D12\_MEMORY\_POOL\_L0      | The memory pool is L0. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid.                            |
| D3D12\_MEMORY\_POOL\_L1      | The memory pool is L1. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. |

## Remarks

This enum is used by the [D3D12\_HEAP\_PROPERTIES](/reference/graphics/d3d12/structs/d3d12_heap_properties_public) structure.

When the adapter is UMA, D3D12\_MEMORY\_POOL\_L0 and DXGI\_MEMORY\_SEGMENT\_GROUP\_LOCAL refer to the same memory.

When

the adapter is not UMA: D3D12\_MEMORY\_POOL\_L0 and DXGI\_MEMORY\_SEGMENT\_GROUP\_NON\_LOCAL refer to the same memory. D3D12\_MEMORY\_POOL\_L1 and DXGI\_MEMORY\_SEGMENT\_GROUP\_LOCAL refer to the same memory.

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h<br />**Library:** d3d12\_xs.lib or d3d12\_x.lib<br />**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

[Core Enumerations](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)

[Descriptor Heaps](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/descriptor-heaps)


## Related topics

- [D3D12_HEAP_TYPE](/reference/graphics/d3d12/enums/d3d12_heap_type_public.md)
- [D3D12_RANGE](/reference/graphics/d3d12/structs/d3d12_range_public.md)
- [D3D12_SHADER_COMPONENT_MAPPING](/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public.md)
- [D3D12_RESIDENCY_FLAGS](/reference/graphics/d3d12/enums/d3d12_residency_flags_public.md)
- [D3D12_RESOURCE_BARRIER_TYPE](/reference/graphics/d3d12/enums/d3d12_resource_barrier_type_public.md)
