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*

SALIn

UINT64 主要數據元素複製到的資源。

DstOffset

類型: UINT64

目的地資源緩衝區的位移,指定主要數據元素以位元組為單位複製到何處。 這個位移與資源緩衝區的基地址結合,必須產生自然對齊 UINT64 值的記憶體位址。

[in] pSrcBuffer

類型: ID3D12Resource*

SALIn

UINT64 主要數據元素複製的來源資源。 此數據通常是著色器程式代碼可用來尋找最新版延遲敏感性資訊的位址、索引或其他句柄。

SrcOffset

類型: UINT64

來源資源緩衝區的位移,指定從中複製主要數據元素的位置,以位元組為單位。 這個位移與資源緩衝區的基地址結合,必須產生自然對齊 UINT64 值的記憶體位址。

Dependencies

類型: UINT

相依資源的數目。

[in] ppDependentResources

類型: ID3D12Resource*

SALIn_reads(Dependencies)

資源陣列,其中包含數據承載的相依專案。

[in] pDependentSubresourceRanges

類型: const D3D12_SUBRESOURCE_RANGE_UINT64*

SALIn_reads(Dependencies)

子資源範圍的陣列,指定資料承載的相依專案。 在主要數據元素本身以不可部分完成的方式複製之前,會完全更新這些專案。 這可確保整個作業在邏輯上是不可部分完成的;也就是說,主要數據元素永遠不會參考不完整的數據承載。

傳回值

備註

此方法通常用於更新資源,而一般轉譯管線延遲可能會對用戶體驗造成負面影響。 例如,應用程式可以從最新的使用者輸入計算檢視矩陣 (,例如從前端顯示器的感測器) ,並使用此函式來更新並啟用命令清單中的此矩陣,以降低輸入與轉譯之間的感知延遲。

規格需求

需求
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

ID3D12GraphicsCommandList1