Skip to content

Latest commit

 

History

History
117 lines (81 loc) · 5.41 KB

nf-d3d12-id3d12graphicscommandlist1-atomiccopybufferuint64.md

File metadata and controls

117 lines (81 loc) · 5.41 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NF:d3d12.ID3D12GraphicsCommandList1.AtomicCopyBufferUINT64
ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64 (d3d12.h)
Atomically copies a primary data element of type UINT64 from one resource to another, along with optional dependent resources.
AtomicCopyBufferUINT64
AtomicCopyBufferUINT64 method
AtomicCopyBufferUINT64 method
ID3D12GraphicsCommandList1 interface
ID3D12GraphicsCommandList1 interface
AtomicCopyBufferUINT64 method
ID3D12GraphicsCommandList1.AtomicCopyBufferUINT64
ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64
d3d12/ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64
direct3d12.id3d12graphicscommandlist1_atomiccopybufferuint64
direct3d12\id3d12graphicscommandlist1_atomiccopybufferuint64.htm
direct3d12
F83870E9-5256-4A3E-BAF7-05C4CCB28442
08/10/2022
AtomicCopyBufferUINT64, AtomicCopyBufferUINT64 method, AtomicCopyBufferUINT64 method,ID3D12GraphicsCommandList1 interface, ID3D12GraphicsCommandList1 interface,AtomicCopyBufferUINT64 method, ID3D12GraphicsCommandList1.AtomicCopyBufferUINT64, ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64, d3d12/ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64, direct3d12.id3d12graphicscommandlist1_atomiccopybufferuint64
d3d12.h
Windows
D3d12.lib
D3d12.dll
Windows
19H1
ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64
d3d12/ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64
c++
APIRef
kbSyntax
COM
d3d12.dll
ID3D12GraphicsCommandList1.AtomicCopyBufferUINT64

ID3D12GraphicsCommandList1::AtomicCopyBufferUINT64

-description

Atomically copies a primary data element of type UINT64 from one resource to another, along with optional dependent resources.

These 'dependent resources' are so-named because they depend upon the primary data element to locate them, typically the key element is an address, index, or other handle that refers to one or more the dependent resources indirectly.

This function supports a primary data element of type UINT64 (64bit). A different version of this function, AtomicCopyBufferUINT, supports a primary data element of type UINT (32bit).

-parameters

-param pDstBuffer [in]

Type: ID3D12Resource*

SAL: In

The resource that the UINT64 primary data element is copied into.

-param DstOffset

Type: UINT64

An offset into the destination resource buffer that specifies where the primary data element is copied into, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT64 values.

-param pSrcBuffer [in]

Type: ID3D12Resource*

SAL: In

The resource that the UINT64 primary data element is copied from. This data is typically an address, index, or other handle that shader code can use to locate the most-recent version of latency-sensitive information.

-param SrcOffset

Type: UINT64

An offset into the source resource buffer that specifies where the primary data element is copied from, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT64 values.

-param Dependencies

Type: UINT

The number of dependent resources.

-param ppDependentResources [in]

Type: ID3D12Resource*

SAL: In_reads(Dependencies)

An array of resources that contain the dependent elements of the data payload.

-param pDependentSubresourceRanges [in]

Type: const D3D12_SUBRESOURCE_RANGE_UINT64*

SAL: In_reads(Dependencies)

An array of subresource ranges that specify the dependent elements of the data payload. These elements are completely updated before the primary data element is itself atomically copied. This ensures that the entire operation is logically atomic; that is, the primary data element never refers to an incomplete data payload.

-remarks

This method is typically used to update resources for which normal rendering pipeline latency can be detrimental to user experience. For example, an application can compute a view matrix from the latest user input (such as from the sensors of a head-mounted display), and use this function to update and activate this matrix in command lists already dispatched to the GPU to reduce perceived latency between input and rendering.

-see-also

ID3D12GraphicsCommandList1