> ## 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_FEATURE_DATA_EXISTING_HEAPS

> Provides detail about whether the adapter supports creating heaps from existing system memory.

Provides detail about whether the adapter supports creating heaps from existing system memory. Such heaps are not intended for general use, but are exceptionally useful for diagnostic purposes, because they are guaranteed to persist even after the adapter faults or experiences a device-removal event. Persistence is not guaranteed for heaps returned by [ID3D12Device::CreateHeap](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createheap_public) or [ID3D12Device::CreateCommittedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public), even when the heap resides in system memory.

## Syntax

```cpp theme={null}
typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS
{
    BOOL Supported;
} D3D12_FEATURE_DATA_EXISTING_HEAPS
```

### Members

*Supported*\
Type: BOOL

**TRUE** if the adapter can create a heap from existing system memory. Otherwise, **FALSE**.

## Remarks

For a variety of performance and compatibility reasons, applications should not make use of this feature except for diagnostic purposes. In particular, heaps created using this feature only support system-memory heaps with cross-adapter properties, which precludes many optimization opportunities that typical application scenarios could otherwise take advantage of.

## Requirements

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

## See Also

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

[D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public)

[ID3D12Device::CreateCommittedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public)

[ID3D12Device::CreateHeap](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createheap_public)


## Related topics

- [D3D12_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public.md)
- [D3D12_FEATURE_DATA_ARCHITECTURE](/reference/graphics/d3d12/structs/d3d12_feature_data_architecture_public.md)
- [D3D12_HEAP_TYPE](/reference/graphics/d3d12/enums/d3d12_heap_type_public.md)
- [D3D12_FEATURE_DATA_SERIALIZATION](/reference/graphics/d3d12/structs/d3d12_feature_data_serialization_public.md)
- [D3D12_FEATURE_DATA_ARCHITECTURE1](/reference/graphics/d3d12/structs/d3d12_feature_data_architecture1_public.md)
