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

> Specifies the level of sharing across nodes of an adapter, such as Tier 1 Emulated, Tier 1, or Tier 2.

Specifies the level of sharing across nodes of an adapter, such as Tier 1 Emulated, Tier 1, or Tier 2.

## Syntax

```cpp theme={null}
typedef enum D3D12_CROSS_NODE_SHARING_TIER
{
    D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0,
    D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1,
    D3D12_CROSS_NODE_SHARING_TIER_1 = 2,
    D3D12_CROSS_NODE_SHARING_TIER_2 = 3,
    D3D12_CROSS_NODE_SHARING_TIER_3 = 4
} D3D12_CROSS_NODE_SHARING_TIER
```

## Constants

| Constant                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_CROSS\_NODE\_SHARING\_TIER\_NOT\_SUPPORTED | If an adapter has only 1 node, then cross-node sharing doesn't apply, so the **CrossNodeSharingTier** member of the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public) structure is set to D3D12\_CROSS\_NODE\_SHARING\_NOT\_SUPPORTED.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_CROSS\_NODE\_SHARING\_TIER\_1\_EMULATED    | Tier 1 Emulated. Devices that set the **CrossNodeSharingTier** member of the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public) structure to D3D12\_CROSS\_NODE\_SHARING\_TIER\_1\_EMULATED have Tier 1 support. However, drivers stage these copy operations through a driver-internal system memory allocation. This will cause these copy operations to consume time on the destination GPU as well as the source.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| D3D12\_CROSS\_NODE\_SHARING\_TIER\_1              | Tier 1. Devices that set the **CrossNodeSharingTier** member of the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public) structure to D3D12\_CROSS\_NODE\_SHARING\_TIER\_1 only support the following cross-node copy operations: <ul><li>[ID3D12CommandList::CopyBufferRegion](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copybufferregion_public)</li><li>[ID3D12CommandList::CopyTextureRegion](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytextureregion_public)</li><li>[ID3D12CommandList::CopyResource](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-copyresource)</li></ul> Additionally, the cross-node resource must be the destination of the copy operation. |
| D3D12\_CROSS\_NODE\_SHARING\_TIER\_2              | Tier 2. Devices that set the **CrossNodeSharingTier** member of the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public) structure to D3D12\_CROSS\_NODE\_SHARING\_TIER\_2 support all operations across nodes, except for the following: <ul><li>Render target views.</li><li>Depth stencil views.</li><li>UAV atomic operations. Similar to CPU/GPU interop, shaders may perform UAV atomic operations; however, no atomicity across adapters is guaranteed.</li></ul> Applications can retrieve the node where a resource/heap exists from the [D3D12\_HEAP\_DESC](/reference/graphics/d3d12/structs/d3d12_heap_desc_public) structure. These values are retrievable for opened resources. The runtime performs the appropriate re-mapping in case the 2 devices are using different UMD-specified node re-mappings.                 |
| D3D12\_CROSS\_NODE\_SHARING\_TIER\_3              | Indicates support for [**D3D12\_HEAP\_FLAG\_ALLOW\_SHADER\_ATOMICS**](/reference/graphics/d3d12_x/enums/d3d12_heap_flags) on heaps that are visible to multiple nodes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

## Remarks

This enum is used by the **CrossNodeSharingTier** member of the [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public) structure.

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


## Related topics

- [D3D12_FEATURE_DATA_CROSS_NODE](/reference/graphics/d3d12/structs/d3d12_feature_data_cross_node_public.md)
- [D3D12_FEATURE_DATA_D3D12_OPTIONS](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options_public.md)
- [D3D12_NODE_MASK](/reference/graphics/d3d12/structs/d3d12_node_mask_public.md)
- [D3D12_RAYTRACING_TIER](/reference/graphics/d3d12/enums/d3d12_raytracing_tier_public.md)
- [D3D12_RESOURCE_BINDING_TIER](/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public.md)
