No início deste ano, mencionei que a Microsoft estava trabalhando em sua primeira extensão para Vulkan e hoje ela finalmente estreou na atualização da especificação Vulkan 1.3.264.
Essa nova e primeira extensão da Microsoft para Vulkan é chamada de VK_MSFT_layered_driver e tem como objetivo auxiliar o carregador Vulkan comum a lidar melhor com camadas de driver, como Vulkan mapeado sobre drivers de hardware Direct3D 12 no Windows.
Conforme explicado no documento da extensão VK_MSFT_layered_driver:
"O carregador Vulkan é capaz de classificar dispositivos físicos de acordo com critérios específicos da plataforma. Por exemplo, no Windows, o carregador utiliza LUIDs para ordenar dispositivos físicos da mesma forma que adaptadores DXGI. No entanto, é possível ter vários drivers Vulkan que fornecem suporte para o mesmo dispositivo físico, como um que é uma implementação "nativa" fornecida pelo fabricante e outro que é uma implementação "em camadas" sobre uma API diferente. Exemplos de implementações em camadas incluem VulkanOn12 (também conhecido como Dozen), camadas em D3D12 e MoltenVK, camadas em Metal.
Em um sistema onde um dispositivo físico tem dois drivers possíveis, a ordem de classificação entre eles não é especificada no momento. A ordem de classificação ideal deve posicionar todos os drivers nativos/sem camadas antes de qualquer driver em camadas, uma vez que se espera que os drivers nativos ofereçam mais funcionalidade e melhor desempenho, já que as camadas adicionam sobrecarga inerente. No entanto, o carregador não possui informações para determinar qual driver deve ser preferido.
Outro problema que não é abordado por esta especificação é quando você possui vários drivers "nativos" para um único dispositivo físico. Nesse caso, a ordem de classificação permanece indefinida, uma vez que não existe uma ordem clara entre os drivers."
A outra nova extensão introduzida na atualização das especificações Vulkan de hoje é a VK_EXT_frame_boundary, que ajuda ferramentas e depuradores a agrupar envios de fila por quadro em cenários mais complexos. Esta extensão foi desenvolvida por engenheiros do Google, Imagination, Arm, NVIDIA e Huawei.
Você pode encontrar mais detalhes sobre a atualização de hoje das especificações Vulkan 1.3.264 no GitHub.
Até a próxima !!
Nenhum comentário:
Postar um comentário