Compartir a través de


estructura DXGKARG_SUBMITCOMMANDTOHWQUEUE (d3dkmddi.h)

Argumentos usados para enviar un comando a la cola de hardware.

Sintaxis

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;

Miembros

[in] hHwQueue

Cola de hardware a la que se envía.

HwQueueProgressFenceId

Identificador de barrera de progreso de la cola de hardware que se indicará cuando se realice el Blt presente en la GPU.

DmaBufferVirtualAddress

Dirección virtual del búfer DMA que se va a ejecutar en la GPU.

DmaBufferSize

Tamaño del búfer DMA que se va a ejecutar en la GPU.

DmaBufferPrivateDataSize

Tamaño de datos privados del búfer.

pDmaBufferPrivateData

Datos binarios pasados por la devolución de llamada DDI en modo de usuario pfnSubmitToHwQueueCb, para envíos de comandos desde el modo de usuario o para envíos de modo kernel, como Present Blt, private driver data buffer rellenado por DdiPresent.

Importante

El búfer de datos del controlador privado se liberará tras la devolución de DxgkDdiSubmitCommandToHwQueue. Esto es diferente de WDDM 2.0-2.3, donde la duración de los datos del controlador privado se extiende hasta la finalización del búfer de comandos en la GPU.

Flags

Se establecerán en cero para los búferes de comandos generados por el controlador en modo de usuario. El controlador en modo kernel DdiPresentToHwQueue los búferes de comandos generados tendrán la marca Present establecida en 1.

HwQueueProgressFenceGpuVa

VA de GPU (aceleración de vídeo) de la barrera que se indicará en esta finalización del búfer DMA.

HwQueueProgressFenceCpuVa

VA de CPU en modo kernel de la barrera que se indicará en esta finalización del búfer DMA.

Si el nodo al que se envía tiene el límite RingBufferFenceRelease establecido en 0, el controlador del modo de usuario inserta la actualización de barrera como la última instrucción al final del búfer DMA, o para envíos de kernel, mediante el controlador de modo kernel en respuesta a la llamada DdiSignalMonitoredFence.

Si el nodo al que se envía tiene el límite RingBufferFenceRelease establecido en 1, la actualización de barrera se realiza después de que el búfer DMA ya no esté en uso por GPU o CPU. La mecánica exacta de la actualización de barreras está hasta el KMD/GPU. Por ejemplo, el hardware del procesador de administración de contexto puede hacerlo al retirar el búfer DMA o por el KMD.

Requisitos

Requisito Valor
Header d3dkmddi.h