структура 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
Идентификатор забора хода выполнения аппаратной очереди, который будет сигнализировать при выполнении текущего Blt на GPU.
DmaBufferVirtualAddress
Виртуальный адрес буфера DMA, который будет выполняться на GPU.
DmaBufferSize
Размер буфера DMA, выполняемого на GPU.
DmaBufferPrivateDataSize
Размер частных данных буфера.
pDmaBufferPrivateData
Двоичные данные, передаваемые в пользовательском режиме DDI обратного вызова pfnSubmitToHwQueueCb, для отправки команд из пользовательского режима или для отправки в режиме ядра, таких как Present Blt, буфер данных частного драйвера, заполненный DdiPresent.
Важный
Буфер данных частного драйвера будет освобожден после возврата из DxgkDdiSubmitCommandToHwQueue. Это отличается от WDDM 2.0-2.3, где время существования данных частного драйвера распространяется до завершения буфера команд на GPU.
Flags
Они будут иметь значение нулю для созданных буферов команд драйвера пользовательского режима. Для драйвера режима ядра DdiPresentToHwQueue, созданного буферами команд, будет присвоено значение 1.
HwQueueProgressFenceGpuVa
GPU VA (ускорение видео) забора, который будет сигнализировать о завершении этого буфера DMA.
HwQueueProgressFenceCpuVa
ЦП режима ядра ЦП забора, который будет сигнализировать после завершения этого буфера DMA.
Если узел, отправляемый в RingBufferFenceRelease, имеет значение 0, обновление забора вставляется драйвером пользовательского режима в качестве последней инструкции в конце буфера DMA или для отправки ядра драйвером режима ядра в ответ на вызов DdiSignalMonitoredFence.
Если узел, отправляемый в RingBufferFenceRelease, ограничение имеет значение 1, обновление забора выполняется после того, как буфер DMA больше не используется GPU или ЦП. Точные механики обновления забора до KMD/GPU. Например, это можно сделать с помощью оборудования обработчика управления контекстом при выходе из буфера DMA или KMD.
Требования
Требование | Ценность |
---|---|
заголовка | d3dkmddi.h |