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

> Describes the size of a tiled region. (D3D12_TILE_REGION_SIZE)

Describes the size of a tiled region.

## Syntax

```cpp theme={null}
typedef struct D3D12_TILE_REGION_SIZE
{
    UINT NumTiles;
    BOOL UseBox;
    UINT Width;
    UINT16 Height;
    UINT16 Depth;
} D3D12_TILE_REGION_SIZE
```

### Members

*NumTiles*\
Type: UINT

The number of tiles in the tiled region.

*UseBox*\
Type: BOOL

Specifies whether the runtime uses the **Width**, **Height**, and **Depth** members to define the region.

If **TRUE**, the runtime uses the **Width**, **Height**, and **Depth** members to define the region. In this case,  **NumTiles** should be equal to **Width** \*  **Height** \* **Depth**.

If **FALSE**, the runtime ignores the **Width**, **Height**, and **Depth** members and uses the **NumTiles** member to traverse tiles in the resource linearly across x, then y, then z (as applicable) and then spills over mipmaps/arrays in subresource order.  For example, use this technique to map an entire resource at once.

Regardless of whether you specify **TRUE** or **FALSE** for **UseBox**, you use a [D3D12\_TILED\_RESOURCE\_COORDINATE](/reference/graphics/d3d12/structs/d3d12_tiled_resource_coordinate_public) structure to specify the starting location for the region within the resource as a separate parameter outside of this structure by using x, y, and z coordinates.

When the region includes mipmaps that are packed with nonstandard tiling, **UseBox** must be **FALSE** because tile dimensions are not standard and the app only knows a count of how many tiles are consumed by the packed area, which is per array slice.  The corresponding (separate) starting location parameter uses x to offset into the flat range of tiles in this case, and y and z coordinates must each be 0.

*Width*\
Type: UINT

The width of the tiled region, in tiles. Used for buffer and 1D, 2D, and 3D textures.

*Height*\
Type: UINT16

The height of the tiled region, in tiles. Used for 2D and 3D textures.

*Depth*\
Type: UINT16

The depth of the tiled region, in tiles. Used for 3D textures or arrays. For arrays, used for advancing in depth jumps to next slice of same mipmap size, which isn't contiguous in the subresource counting space if there are multiple mipmaps.

## Remarks

This structure is used by the [CopyTiles](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public), [CopyTileMappings](/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_copytilemappings_public) and [UpdateTileMappings](/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public) methods.

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

[CD3DX12\_TILE\_REGION\_SIZE](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-tile-region-size)

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


## Related topics

- [CopyTiles](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public.md)
- [CopyTileMappings](/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_copytilemappings_public.md)
- [D3D12_TILE_COPY_FLAGS](/reference/graphics/d3d12/enums/d3d12_tile_copy_flags_public.md)
- [D3D12_TILE_SHAPE](/reference/graphics/d3d12/structs/d3d12_tile_shape_public.md)
- [D3D12_TILE_RANGE_FLAGS](/reference/graphics/d3d12/enums/d3d12_tile_range_flags_public.md)
