D3D12_PACKED_MIP_INFO 结构 (d3d12.h)

描述具有 mipmap 的平铺资源的图块结构。

语法

typedef struct D3D12_PACKED_MIP_INFO {
  UINT8 NumStandardMips;
  UINT8 NumPackedMips;
  UINT  NumTilesForPackedMips;
  UINT  StartTileIndexInOverallResource;
} D3D12_PACKED_MIP_INFO;

成员

NumStandardMips

平铺资源中的标准 mipmap 数。

NumPackedMips

平铺资源中打包的 mipmap 数。

此数字从最不详细的 mipmap 开始, (共享磁贴或使用非标准磁贴布局) 。 如果资源中没有此类打包,则此数字为 0。 对于数组图面,此值是为给定数组切片打包的 mipmap 数,其中每个数组切片重复相同的打包。

在Tier_2平铺资源硬件上,不允许将填充所有维度中至少一个标准形状图块的 mipmap 包含在打包的 mipmap 集中。 在Tier_1硬件上,不允许将所有尺寸中一个标准形状图块的整数倍的 mipmap 包含在打包的 mipmap 集中。 至少小于标准图块形状一个维度的 Mipmap 可以打包,也可能不打包。 当需要打包给定的 mipmap 时,给定数组切片的所有粗糙 mipmap 也被视为已打包。

NumTilesForPackedMips

平铺资源中打包的 mipmap 的磁贴数。

如果没有打包,则此值毫无意义,并且设置为 0。 否则,它设置为表示打包 mipmap 集所需的磁贴数。 打包的 mipmap 中的像素布局特定于硬件。 如果应用仅为打包的 mipmap 中的磁贴集定义部分映射,则读取和写入行为特定于供应商且未定义。 对于数组,此值只是每个数组切片的子资源中打包的 mipmap 的计数。

StartTileIndexInOverallResource

资源在整个磁贴范围中第一个打包磁贴的偏移量。 如果 NumPackedMips 为 0,则此值毫无意义且为 0。 否则,它是资源在整体磁贴范围内第一个打包磁贴的偏移量。 对于 StartTileIndexInOverallResource,值为 0 表示已打包整个资源。 对于数组图面,这是包含第一个数组切片的打包 mipmap 的磁贴的偏移量。 数组图面中每个数组切片的打包 mipmap 位于每个数组切片的图块开头的偏移量处。

注意 给定数组切片的总体磁贴数(已打包与否)只是资源磁贴的总数除以资源的数组大小,因此很容易找到任何给定数组切片的磁贴范围, 其中 StartTileIndexInOverallResource 标识了哪些磁贴已打包。
 

备注

GetResourceTiling 方法使用此结构。

要求

   
标头 d3d12.h

另请参阅

CD3DX12_PACKED_MIP_INFO

核心结构