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
指定运行时是否使用 Width、 Height 和 Depth 成员来定义区域。
如果 为 TRUE,则运行时使用 Width、 Height 和 Depth 成员来定义区域。 在这种情况下, 数字应 等于 宽度 * 高度 * 深度。
如果 为 FALSE,则运行时将忽略 Width、 Height 和 Depth 成员,并使用 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,则子资源计数空间中不连续。
备注
此结构由 CopyTiles、 CopyTileMappings 和 UpdateTileMappings 方法使用。
要求
标头 | d3d12.h |