ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64 方法 (d3d12.h)
将 UINT64 类型的主数据元素以及可选的依赖资源从一个资源原子复制到另一个资源。
这些“依赖资源”之所以命名,是因为它们依赖于主数据元素来查找它们,通常关键元素是间接引用一个或多个依赖资源的地址、索引或其他句柄。
此函数支持 UINT64 (64 位) 类型的主数据元素。 此函数的不同版本 AtomicCopyBufferUINT 支持 UINT 类型的主数据元素 (32 位) 。
语法
void AtomicCopyBufferUINT64(
[in] ID3D12Resource *pDstBuffer,
UINT64 DstOffset,
[in] ID3D12Resource *pSrcBuffer,
UINT64 SrcOffset,
UINT Dependencies,
[in] ID3D12Resource * const *ppDependentResources,
[in] const D3D12_SUBRESOURCE_RANGE_UINT64 *pDependentSubresourceRanges
);
参数
[in] pDstBuffer
类型: ID3D12Resource*
SAL: In
UINT64 主数据元素复制到的资源。
DstOffset
类型: UINT64
目标资源缓冲区的偏移量,指定主数据元素复制到的位置(以字节为单位)。 此偏移量与资源缓冲区的基址相结合,必须生成与 UINT64 值自然对齐的内存地址。
[in] pSrcBuffer
类型: ID3D12Resource*
SAL: In
从中复制 UINT64 主数据元素的资源。 此数据通常是着色器代码可用于查找最新版本的延迟敏感信息的地址、索引或其他句柄。
SrcOffset
类型: UINT64
源资源缓冲区的偏移量,指定从何处复制主数据元素(以字节为单位)。 此偏移量与资源缓冲区的基址相结合,必须生成与 UINT64 值自然对齐的内存地址。
Dependencies
类型: UINT
依赖资源的数量。
[in] ppDependentResources
类型: ID3D12Resource*
SAL: In_reads(Dependencies)
包含数据有效负载的依赖元素的资源数组。
[in] pDependentSubresourceRanges
类型: const D3D12_SUBRESOURCE_RANGE_UINT64*
SAL: In_reads(Dependencies)
子资源范围的数组,指定数据有效负载的依赖元素。 在以原子方式复制主数据元素之前,这些元素将完全更新。 这可确保整个操作在逻辑上是原子的;也就是说,主数据元素永远不会引用不完整的数据有效负载。
返回值
无
备注
此方法通常用于更新正常的呈现管道延迟可能会损害用户体验的资源。 例如,应用程序可以从最新的用户输入 ((例如从头戴式显示器) 的传感器)计算视图矩阵,并使用此函数在已调度到 GPU 的命令列表中更新和激活此矩阵,以减少输入和呈现之间的感知延迟。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |