Freigeben über


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