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
指向 GetResourceTilingD3D12_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
要获取的第一个子资源磁贴的数量。 GetResourceTiling 如果 pNumSubresourceTilings 指向 0 的数字,则忽略此参数。
[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时所需的纹理的总资源大小,请使用
有关平铺资源的详细信息,请参阅 卷平铺资源。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | d3d12.h |
库 | D3d12.lib |
DLL | D3d12.dll |