ID3D12Device::GetResourceTiling 方法 (d3d12.h)

获取有关平铺资源如何拆分为磁贴的信息。

语法

void GetResourceTiling(
  [in]                ID3D12Resource           *pTiledResource,
  [out, optional]     UINT                     *pNumTilesForEntireResource,
  [out, optional]     D3D12_PACKED_MIP_INFO    *pPackedMipDesc,
  [out, optional]     D3D12_TILE_SHAPE         *pStandardTileShapeForNonPackedMips,
  [in, out, optional] UINT                     *pNumSubresourceTilings,
  [in]                UINT                     FirstSubresourceTilingToGet,
  [out]               D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips
);

参数

[in] pTiledResource

类型: ID3D12Resource*

指定用于获取相关信息的平铺 ID3D12Resource

[out, optional] pNumTilesForEntireResource

类型: UINT*

指向变量的指针,该变量接收存储整个平铺资源所需的磁贴数。

[out, optional] pPackedMipDesc

类型: D3D12_PACKED_MIP_INFO*

指向 D3D12_PACKED_MIP_INFO 结构的指针, GetResourceTiling 用有关如何打包平铺资源的 mipmap 的信息填充该结构。

[out, optional] pStandardTileShapeForNonPackedMips

类型: D3D12_TILE_SHAPE*

指定 GetResourceTiling 使用有关磁贴形状的信息填充的D3D12_TILE_SHAPE结构。 这是有关像素如何适应磁贴的信息,与平铺资源的尺寸无关,不包括打包的 mipmap。 如果打包了整个平铺资源,则此参数毫无意义,因为平铺资源对于打包的 mipmap 没有定义的布局。 在这种情况下, GetResourceTiling 将 D3D12_TILE_SHAPE 的成员设置为零。

[in, out, optional] pNumSubresourceTilings

类型: UINT*

指向包含子资源中磁贴数的变量的指针。 输入时,这是要查询其平铺的子资源数;输出时,这是实际在 pSubresourceTilingsForNonPackedMips 中检索的数字, (固定到可用) 。

[in] FirstSubresourceTilingToGet

类型: UINT

要获取的第一个子资源磁贴的编号。 如果 pNumSubresourceTilings 指向的数字为 0,GetResourceTiling 将忽略此参数。

[out] pSubresourceTilingsForNonPackedMips

类型: D3D12_SUBRESOURCE_TILING*

指定 GetResourceTiling 填充有关子资源磁贴信息的D3D12_SUBRESOURCE_TILING结构。 如果子资源磁贴是打包的 mipmap 的一部分, 则 GetResourceTiling 会将 D3D12_SUBRESOURCE_TILING 的成员设置为零,但 StartTileIndexInOverallResource 成员除外, GetResourceTiling 将其设置为D3D12_PACKED_TILE (0xffffffff) 。 D3D12_PACKED_TILE常量指示整个 D3D12_SUBRESOURCE_TILING 结构对于这种情况毫无意义,并且 pPackedMipDesc 参数指向的信息适用。

返回值

备注

若要估算计算堆大小并调用 CreatePlacedResource 时所需的纹理总资源大小,请使用 GetResourceAllocationInfo 而不是 GetResourceTilingGetResourceTiling 不能用于此。

有关平铺资源的详细信息,请参阅 卷平铺资源

要求

   
目标平台 Windows
标头 d3d12.h
Library D3d12.lib
DLL D3d12.dll

请参阅

ID3D12Device

子资源