共用方式為


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

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

HwQueueProgressFenceCpuVa

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

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

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

要求

要求 價值
標頭 d3dkmddi.h