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;

Member

[in] hHwQueue

Hardwarewarteschlange, an die übermittelt wird.

HwQueueProgressFenceId

Statusstatus-ID der Hardwarewarteschlange, die signalisiert wird, wenn das 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ärdaten, 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, private Treiberdatenpuffer, der von DdiPresent ausgefüllt wurde.

Wichtig

Der datenpuffer des privaten Treibers wird bei der Rückgabe von DxgkDdiSubmitCommandToHwQueue freigegeben. Dies unterscheidet sich von WDDM 2.0-2.3, bei dem die Datenlebensdauer des privaten Treibers bis zum Abschluss des Befehlspuffers auf der GPU verlängert wird.

Flags

Diese werden für vom Benutzermodustreiber generierte Befehlspuffer auf 0 festgelegt. Für die vom Kernelmodustreiber DdiPresentToHwQueue generierten Befehlspuffer ist present flag auf 1 festgelegt.

HwQueueProgressFenceGpuVa

GPU VA (Videobeschleunigung) des Zauns, der bei Abschluss dieses DMA-Puffers signalisiert wird.

HwQueueProgressFenceCpuVa

CPU-VA im Kernelmodus des Zauns, der bei Abschluss dieses DMA-Puffers signalisiert wird.

Wenn für den Knoten, an den übermittelt wird, die RingBufferFenceRelease-Obergrenze auf 0 festgelegt ist, wird das Umgrenzungsupdate vom Benutzermodustreiber als letzte Anweisung am Ende des DMA-Puffers oder für Kernelübermittlungen vom Kernelmodustreiber als Reaktion auf den DdiSignalMonitoredFence-Aufruf eingefügt.

Wenn für den knoten, an den übermittelt wird, die RingBufferFenceRelease-Obergrenze auf 1 festgelegt ist, wird das Fenceupdate ausgeführt, nachdem der DMA-Puffer nicht mehr von GPU oder CPU verwendet wird. Die genaue Mechanik des Zaunupdates ist bis zur KMD/GPU gültig. Dies kann beispielsweise durch die Hardware des Kontextverwaltungsprozessors erfolgen, wenn der DMA-Puffer eingestellt wird, oder durch den KMD.

Anforderungen

Anforderung Wert
Header d3dkmddi.h