Writes a 64-bit value at the bottom of the pipeline to a given destination in memory.
public:
void Write64BitValueBottomOfPipeX(
D3D12_GPU_VIRTUAL_ADDRESS Destination,
UINT64 Value,
D3D12XBOX_FLUSH Flush,
D3D12XBOX_WRITE_VALUE_BOP_FLAGS Flags
)
Destination
Type: D3D12_GPU_VIRTUAL_ADDRESS
[in] D3D12_GPU_VIRTUAL_ADDRESS The base address of graphics memory at which to write the value. The address must be 8-byte aligned.
Value
Type: UINT64
[in] The 64 bit value to be written if a timestamp option has not been selected. When a timestamp has been selected, the value must be set to 0.
Flush
Type: D3D12XBOX_FLUSH
[in] A set of optional flush flags to invalidate the texture cache in conjunction with the write operation, as a bitwise-OR’d combination of D3D12XBOX_FLUSH enumeration constants. Supported flags are as follows:
Flags
Type: D3D12XBOX_WRITE_VALUE_BOP_FLAGS
[in] A set of optional flags to select the type of value to be written to memory, as a bitwise-OR’d combination of D3D12XBOX_WRITE_VALUE_BOP_FLAGS enumeration constants.
Type: void
The 64-bit value will be written to memory after the completion of all shader execution and render back-end processing, but potentially before all memory writes generated by preceding draws and dispatches have finished.
When used in conjunction with the method ID3D12GraphicsCommandList::Wait64BitValueX, Write64BitValueBottomOfPipeX can serve as a useful cross-engine intra-command-list synchronization mechanism.
Header: Declared in d3d12_x.h.
Library: Use d3d12_x.lib.