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 |