estrutura DXGKARG_SUBMITCOMMANDTOHWQUEUE (d3dkmddi.h)
Argumentos usados para enviar um comando para a fila de hardware.
Sintaxe
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;
Membros
[in] hHwQueue
Fila de hardware que está sendo enviada.
HwQueueProgressFenceId
ID de limite de progresso da fila de hardware que será sinalizada quando o Blt Presente for feito na GPU.
DmaBufferVirtualAddress
O endereço virtual do buffer de DMA a ser executado na GPU.
DmaBufferSize
O tamanho do buffer de DMA a ser executado na GPU.
DmaBufferPrivateDataSize
O tamanho dos dados privados do buffer.
pDmaBufferPrivateData
Dados binários passados pelo retorno de chamada DDI do modo de usuário pfnSubmitToHwQueueCb, para envios de comando do modo de usuário ou para envios no modo kernel, como Present Blt, buffer de dados de driver privado preenchido por DdiPresent.
Importante
O buffer de dados do driver privado será liberado após o retorno de DxgkDdiSubmitCommandToHwQueue. Isso é diferente do WDDM 2.0-2.3, em que o tempo de vida dos dados do driver privado é estendido até que o buffer de comando seja concluído na GPU.
Flags
Eles serão definidos como zero para buffers de comando gerados pelo driver de modo de usuário. Os buffers de comando gerados pelo driver de modo kernel DdiPresentToHwQueue terão o sinalizador Present definido como 1.
HwQueueProgressFenceGpuVa
GPU VA (aceleração de vídeo) da cerca que será sinalizada após a conclusão desse buffer de DMA.
HwQueueProgressFenceCpuVa
VA da CPU do modo kernel da cerca que será sinalizada após a conclusão desse buffer de DMA.
Se o nó ao qual está sendo enviado tiver o limite RingBufferFenceRelease definido como 0, a atualização de limite será inserida pelo driver de modo de usuário como a última instrução no final do buffer DMA ou para envios de kernel pelo driver de modo kernel em resposta à chamada DdiSignalMonitoredFence.
Se o nó ao qual está sendo enviado tiver o limite RingBufferFenceRelease definido como 1, a atualização de limite será executada depois que o buffer de DMA não estiver mais em uso por GPU ou CPU. A mecânica exata da atualização da cerca é até o KMD/GPU. Por exemplo, isso pode ser feito pelo hardware do processador de gerenciamento de contexto ao desativar o buffer de DMA ou pelo KMD.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3dkmddi.h |