DXGKARG_SUBMITCOMMANDTOHWQUEUE 結構 (d3dkmddi.h)

用來將命令提交至硬體佇列的自變數。

語法

typedef struct _DXGKARG_SUBMITCOMMANDTOHWQUEUE {
  [in] HANDLE                  hHwQueue;
       UINT64                  HwQueueProgressFenceId;
       D3DGPU_VIRTUAL_ADDRESS  DmaBufferVirtualAddress;
       UINT                    DmaBufferSize;
       UINT                    DmaBufferPrivateDataSize;
       VOID                    *pDmaBufferPrivateData;
       DXGK_SUBMITCOMMANDFLAGS Flags;
       D3DGPU_VIRTUAL_ADDRESS  HwQueueProgressFenceGpuVa;
       VOID                    *HwQueueProgressFenceCpuVa;
} DXGKARG_SUBMITCOMMANDTOHWQUEUE;

成員

[in] hHwQueue

正在提交的硬體佇列。

HwQueueProgressFenceId

在 GPU 上完成 Present Blt 時,將會發出訊號的硬體佇列進度柵欄標識碼。

DmaBufferVirtualAddress

要於 GPU 上執行的 DMA 緩衝區虛擬位址。

DmaBufferSize

要於 GPU 上執行的 DMA 緩衝區大小。

DmaBufferPrivateDataSize

緩衝區的私人數據大小。

pDmaBufferPrivateData

使用者模式 DDI 回呼 pfnSubmitToHwQueueCb 所傳遞的二進位數據,用於從使用者模式提交命令,或針對核心模式提交,例如 Present Blt、由 DdiPresent 填入的私人驅動程式數據緩衝區。

重要

從 DxgkDdiSubmitCommandToHwQueue 傳回時,將會釋放私人驅動程式數據緩衝區。 這與 WDDM 2.0-2.3 不同,其中私人驅動程式數據存留期會延長到 GPU 上的命令緩衝區完成為止。

Flags

這些會針對使用者模式驅動程式產生的命令緩衝區設定為零。 核心模式驅動程式 DdiPresentToHwQueue 產生的命令緩衝區會將 Present 旗標設定為 1。

HwQueueProgressFenceGpuVa

GPU VA (視訊加速) 此 DMA 緩衝區完成時將發出訊號的柵欄。

HwQueueProgressFenceCpuVa

此 DMA 緩衝區完成時,將會發出訊號之柵欄的核心模式 CPU VA。

如果提交至 的節點已將 RingBufferFenceRelease 上限設定為 0,則使用者模式驅動程式會在 DMA 緩衝區結尾或核心提交的最後一個指令插入柵欄更新,或由核心模式驅動程式回應 DdiSignalMonitoredFence 呼叫。

如果提交的節點已將 RingBufferFenceRelease 上限設定為 1,則會在 GPU 或 CPU 不再使用 DMA 緩衝區之後執行柵欄更新。 柵欄更新的確切機制最多可達 KMD/GPU。 例如,在淘汰 DMA 緩衝區或 KMD 時,內容管理處理器硬體可以完成。

規格需求

需求
標頭 d3dkmddi.h