ID3D12GraphicsCommandList4::ExecuteMetaCommand 方法 (d3d12.h)

將指定中繼命令的執行 (或) 調用記錄到圖形命令清單中。

在執行中繼命令之前,呼叫 ID3D12GraphicsCommandList4::InitializeMetaCommand 。 在調用期間,您可以指定任何運行時間參數值的覆寫。 您可以在相同的圖形命令清單上執行多個中繼命令。 您可以在相同的命令清單中多次執行相同的中繼命令。

透過使用中繼命令所擷取的PIX擷取,您可以在相同的硬體組態上播放。 但是,根據設計,它無法移植到其他 GPU。

語法

void ExecuteMetaCommand(
  [in]           ID3D12MetaCommand *pMetaCommand,
  [in, optional] const void        *pExecutionParametersData,
  [in]           SIZE_T            ExecutionParametersDataSizeInBytes
);

參數

[in] pMetaCommand

ID3D12MetaCommand 的指標,表示要初始化的中繼命令。

[in, optional] pExecutionParametersData

常數結構的選擇性指標,其中包含用來執行中繼命令的參數值。

[in] ExecutionParametersDataSizeInBytes

SIZE_T,其中包含 pExecutionParametersData 所指向的結構大小,否則為 0。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

您的應用程式會負責根據中繼命令規格,在所需的狀態中設定提供給中繼命令的資源。 中繼命令定義規格會定義每個參數的預期資源狀態。 您的應用程式負責在中繼命令的演算法取用之前,先插入未排序的存取檢視 (UAV) 輸入資源的障礙。 您也必須負責在想要讀回輸出資源時,插入輸出資源的 UAV 屏障。

在演算法調用期間,驅動程式可能會視需要插入許多 UAV 屏障來輸出資源,以同步處理演算法實作中的輸出資源使用量。 從應用程式的觀點來看,您應該假設中繼命令會寫入所有輸出和輸出資源,包括臨時記憶體。

規格需求

需求
目標平台 Windows
標頭 d3d12.h

另請參閱

ID3D12GraphicsCommandList4