D3D12_TILE_REGION_SIZE 结构 (d3d12.h)

描述平铺区域的大小。

语法

typedef struct D3D12_TILE_REGION_SIZE {
  UINT   NumTiles;
  BOOL   UseBox;
  UINT   Width;
  UINT16 Height;
  UINT16 Depth;
} D3D12_TILE_REGION_SIZE;

成员

NumTiles

平铺区域中的磁贴数。

UseBox

指定运行时是否使用 WidthHeightDepth 成员来定义区域。

如果 为 TRUE,则运行时使用 WidthHeightDepth 成员来定义区域。 在这种情况下, 数字应 等于 宽度 * 高度 * 深度

如果 为 FALSE,则运行时将忽略 WidthHeightDepth 成员,并使用 NumTiles 成员以线性方式遍历资源中的磁贴,然后依次遍历 x、y、z ((如适用) ),然后按子资源顺序溢出 mipmaps/arrays。 例如,使用此方法一次映射整个资源。

无论是为 UseBox 指定 TRUE 还是 FALSE,都可以使用 D3D12_TILED_RESOURCE_COORDINATE 结构,使用 x、y 和 z 坐标将资源中区域的起始位置指定为此结构之外的单独参数。

当该区域包含使用非标准平铺打包的 mipmap 时, UseBox 必须为 FALSE ,因为磁贴尺寸不是标准,并且应用仅知道打包区域(按数组切片)使用的磁贴数。 在这种情况下,相应的 (单独的) 起始位置参数使用 x 偏移到平整的平铺范围内,并且 y 和 z 坐标必须各自为 0。

Width

平铺区域的宽度(以磁贴为单位)。 用于缓冲区和 1D、2D 和 3D 纹理。

Height

平铺区域的高度(以磁贴为单位)。 用于 2D 和 3D 纹理。

Depth

平铺区域的深度(以磁贴为单位)。 用于 3D 纹理或数组。 对于数组,用于推进深度跳转到相同 mipmap 大小的下一个切片,如果有多个 mipmap,则子资源计数空间中不连续。

备注

此结构由 CopyTilesCopyTileMappingsUpdateTileMappings 方法使用。

要求

   
标头 d3d12.h

请参阅

CD3DX12_TILE_REGION_SIZE

核心结构