语法
参数
pResourceDesc [in]类型:const D3D12_RESOURCE_DESC * 资源的描述,作为指向 D3D12_RESOURCE_DESC 结构体的指针。 FirstSubresource [in]
类型:UINT 资源中第一个子资源的索引。 有效值范围为 0 到 D3D12_REQ_SUBRESOURCES。 NumSubresources [in]
类型:UINT 资源中子资源的数量。有效值范围为 0 到 (D3D12_REQ_SUBRESOURCES - FirstSubresource)。 BaseOffset
类型:UINT64 资源的偏移量(以字节为单位)。 pLayouts [out, optional]
类型:D3D12_PLACED_SUBRESOURCE_FOOTPRINT * 指向 D3D12_PLACED_SUBRESOURCE_FOOTPRINT 结构体数组(长度为 NumSubresources)的指针,将使用每个子资源的描述和放置进行填充。 pNumRows [out, optional]
类型:UINT * 指向整数变量数组(长度为 NumSubresources)的指针,将使用每个子资源的行数进行填充。 pRowSizeInBytes [out, optional]
类型:UINT64 * 指向整数变量数组(长度为 NumSubresources)的指针,每个条目将使用每个子资源的一行的未填充大小(以字节为单位)进行填充。 例如,如果 Texture2D 资源的宽度为 32,每个像素的字节数为 4, 则 pRowSizeInBytes 返回 128。 pRowSizeInBytes 不应与 行间距 混淆,因为检查 pLayouts 并从中获取行间距将得到 256,因为它与 D3D12_TEXTURE_DATA_PITCH_ALIGNMENT 对齐。 pTotalBytes [out, optional]
类型:UINT64 * 指向整数变量的指针,将使用总大小(以字节为单位)进行填充。
返回值
类型:void 无。备注
此例程协助应用程序在上传堆中子分配空间时填写 D3D12_PLACED_SUBRESOURCE_FOOTPRINT 和 D3D12_SUBRESOURCE_FOOTPRINT 结构体。 生成的结构体与 GPU 适配器无关,这意味着值不会因 GPU 适配器不同而变化。 GetCopyableFootprints 使用有关资源格式、纹理布局和对齐要求的指定详细信息(来自 D3D12_RESOURCE_DESC 结构体)来填写子资源结构体。 应用程序可以访问所有这些详细信息,因此此方法或其变体可以作为应用程序的一部分编写。示例
D3D12Multithreading 示例按以下方式使用 ID3D12Device::GetCopyableFootprints:要求
头文件: d3d12_xs.h 或 d3d12_x.h库: d3d12_xs.lib 或 d3d12_x.lib
支持的平台:XBOX Series 主机和 XBOX One 系列
