Introdução aos buffers de comando e DMA
Buffers de comando e DMA se assemelham uns aos outros. No entanto, um buffer de comando é usado pelo driver de exibição do modo de usuário e um buffer de DMA é usado pelo driver de miniporto de exibição.
Um buffer de comando tem as seguintes características:
Ele nunca é acessado diretamente pela GPU.
O fornecedor de hardware controla o formato.
Ele é alocado para o driver de exibição do modo de usuário da memória pageable regular no espaço de endereço privado do aplicativo de renderização.
Um buffer de DMA tem as seguintes características:
Ele se baseia no conteúdo validado de um buffer de comando.
Ele é alocado pelo driver de miniporto de exibição da memória paginável do kernel.
Antes que a GPU possa ler a partir de um buffer de DMA, o driver de miniporto de exibição deve bloquear a página do buffer de DMA e mapear o buffer de DMA por meio de uma abertura.