DXGKARG_SUBMITCOMMANDTOHWQUEUE Struktur (d3dkmddi.h)
Argumente, die zum Übermitteln eines Befehls an die Hardwarewarteschlange verwendet werden.
Syntax
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;
Angehörige
[in] hHwQueue
Die Hardwarewarteschlange, an die gesendet wird.
HwQueueProgressFenceId
Status-ID der Hardwarewarteschlange für den Zaun, der signalisiert wird, wenn die "Present Blt" auf der GPU ausgeführt wird.
DmaBufferVirtualAddress
Die virtuelle Adresse des DMA-Puffers, der auf der GPU ausgeführt werden soll.
DmaBufferSize
Die Größe des DMA-Puffers, der auf der GPU ausgeführt werden soll.
DmaBufferPrivateDataSize
Die private Datengröße des Puffers.
pDmaBufferPrivateData
Binäre Daten, die vom DDI-Rückruf pfnSubmitToHwQueueCb im Benutzermodus übergeben werden, für Befehlsübermittlungen aus dem Benutzermodus oder für Kernelmodusübermittlungen wie Present Blt, privater Treiberdatenpuffer, der von DdiPresent ausgefüllt wurde.
Wichtig
Der private Treiberdatenpuffer wird nach der Rückgabe von DxgkDdiSubmitCommandToHwQueue freigegeben. Dies unterscheidet sich von WDDM 2.0-2.3, wobei die Lebensdauer privater Treiberdaten bis zum Abschluss des Befehlspuffers auf der GPU verlängert wird.
Flags
Diese werden für generierte Befehlspuffer für den Benutzermodustreiber auf Null festgelegt. Der kernelmodustreiber DdiPresentToHwQueue generierte Befehlspuffer hat das Flag "Present" auf 1 festgelegt.
HwQueueProgressFenceGpuVa
GPU VA (Videobeschleunigung) des Zauns, der beim Abschluss dieses DMA-Puffers signalisiert wird.
HwQueueProgressFenceCpuVa
Kernelmodus CPU VA des Zauns, der beim Abschluss dieses DMA-Puffers signalisiert wird.
Wenn der übermittelte Knoten RingBufferFenceRelease Cap set auf 0 hat, wird das Zaunupdate vom Benutzermodustreiber als letzte Anweisung am Ende des DMA-Puffers oder für Kernelübermittlungen durch den Kernelmodustreiber als Reaktion auf den DdiSignalMonitoredFence-Aufruf eingefügt.
Wenn der übermittelte Knoten RingBufferFenceRelease Cap set auf 1 hat, wird die Zaunaktualisierung ausgeführt, nachdem der DMA-Puffer nicht mehr von GPU oder CPU verwendet wird. Die genaue Mechanik des Zaunupdates ist bis zur KMD/GPU. Dies kann beispielsweise durch die Kontextverwaltungsprozessorhardware erfolgen, wenn der DMA-Puffer oder der KMD eingestellt wird.
Anforderungen
Anforderung | Wert |
---|---|
Header- | d3dkmddi.h |