Compartilhar via


Suporte de sistema e driver para BARRA Redimensionável

Atualmente, é comum que uma GPU (unidade de processamento gráfico) discreta tenha apenas uma pequena parte do buffer de quadro exposta sobre o barramento PCI. Para compatibilidade com OSes de 32 bits, GPUs discretas normalmente reivindicam uma região de E/S de 256 MB para seus buffers de quadro e é assim que o firmware típico os configura.

Em GPUs que dão suporte a um BAR (registro de endereço base) redimensionável, o Windows renegociará o tamanho da BARRA de uma GPU após a inicialização do firmware no Modelo de Driver de Exibição do Windows (WDDM) v2 e posterior. Para obter mais informações sobre a BARRA redimensionável, consulte a Especificação de funcionalidade bar redimensionável na Biblioteca de Especificações de SIG PCI.

Uma GPU que dá suporte à BARRA redimensionável deve garantir que ela possa manter a exibição ativa e mostrar uma imagem estática durante a reprogramação da BARRA. A exibição não deve ficar em branco e fazer backup durante esse processo. É importante ter uma transição suave entre a imagem exibida pelo firmware, a imagem do carregador de inicialização e a primeira imagem gerada pelo driver do modo kernel. Observe que nenhuma transação PCI ocorrerá em direção à GPU enquanto a renegociação estiver ocorrendo.

Essa renegociação é praticamente invisível para o driver do modo kernel. Quando a renegociação for bem-sucedida, o driver do modo kernel observará que a BARRA de GPU foi redimensionada para seu tamanho máximo para expor toda a VRAM da GPU discreta.

Após o redimensionamento bem-sucedido, o driver do modo kernel deve expor um único segmento de memória CPUVisible ao gerenciador de memória de vídeo. O gerenciador de memória de vídeo mapeará endereços virtuais da CPU diretamente para esse intervalo quando a CPU precisar acessar o conteúdo do segmento de memória.