获取有关平铺资源如何分解为磁贴的信息。
语法
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
指向 GetResourceTiling 填充的D3D12_PACKED_MIP_INFO结构的指针,其中包含有关如何打包平铺资源的 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
指定 GetResourceTiling 使用子资源磁贴的信息填充的D3D12_SUBRESOURCE_TILING结构。 如果子资源磁贴是打包的 mipmap 的一部分, GetResourceTiling 会将D3D12_SUBRESOURCE_TILING的成员设置为零,但 StartTileIndexInOverallResource 成员除外, GetResourceTiling 会将该成员设置为 D3D12_PACKED_TILE(0xffffffff)。 D3D12_PACKED_TILE常量指示整个 D3D12_SUBRESOURCE_TILING 结构对于这种情况毫无意义, pPackedMipDesc 参数指向的信息适用。
返回值
没有
言论
若要估算计算堆大小和调用 CreatePlacedResource 时所需的纹理的总资源大小,请使用 GetResourceAllocationInfo 而不是 GetResourceTiling。 无法对此使用 GetResourceTiling。
有关平铺资源的详细信息,请参阅 卷平铺资源。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
页眉 | d3d12.h |
图书馆 | D3d12.lib |
DLL | D3d12.dll |