Embora os gráficos de alto desempenho e a API de computação do Vulkan sejam apoiados por muitos fornecedores, a Microsoft e a Apple são duas organizações notáveis ??que não apoiaram esse padrão do Khronos Group. Da parte da Microsoft, eles obviamente preferem seu Direct3D interno. No entanto, a Microsoft está se preparando para enviar sua primeira extensão Vulkan.Como parte dos preparativos para enviar sua primeira extensão Vulkan, durante a noite houve uma fusão no repositório de especificações Vulkan para adicionar o prefixo do fornecedor “MSFT”.
O vk.xml agora tem uma tag MSFT para representar qualquer extensão da Microsoft Corporation no futuro.Os engenheiros da Microsoft estão trabalhando em uma extensão de driver em camadas Vulkan. A intenção com a extensão VK_MSFT_layered_driver proposta é ajudar o carregador Vulkan comum a lidar melhor com camadas de driver para melhorar a classificação do dispositivo físico.
Microsoft terá a primeira extensão Vulkan
Aqui está a declaração do problema explicando a situação que o VK_MSFT_layered_driver ainda a ser mesclado espera resolver:
O carregador Vulkan é capaz de classificar dispositivos físicos de acordo com critérios específicos da plataforma. Por exemplo, no Windows, o carregador usa LUIDs para colocar dispositivos físicos na mesma ordem dos adaptadores DXGI. No entanto, é possível ter vários drivers Vulkan que fornecem suporte para o mesmo dispositivo físico, onde uma é uma implementação “nativa” fornecida pelo fornecedor e outra é uma implementação “em camadas” sobre uma API diferente.
Exemplos de implementações em camadas incluem VulkanOn12 (também conhecido como Dozen), em camadas em D3D12, e MoltenVK, em camadas sobre Metal.Em um sistema em que um dispositivo físico possui dois drivers possíveis, a ordem de classificação entre eles não é especificada no momento. Uma ordem de classificação ideal deve colocar todos os drivers nativos/sem camadas classificados antes de qualquer driver em camadas, pois deve-se esperar que os drivers nativos forneçam mais funcionalidade e melhor desempenho, já que a camada inerentemente adiciona sobrecarga.
Mas o carregador não tem como saber qual driver prefere.Um problema adicional que não é abordado por esta especificação é o caso em que você tem vários drivers “nativos” para um único dispositivo físico. Nesse caso, a ordem de classificação permanece não especificada, pois uma ordem correta entre os drivers não é óbvia.
Do ponto de vista da Microsoft, eles estão tentando melhorar o manuseio de seu próprio driver Mesa Dzn para Vulkan API no Direct3D 12. Conforme declarado, essa extensão também pode ser útil para MoltenVK no Vulkan no topo da API de gráficos/computação Metal da Apple.
Os interessados ??no trabalho de extensão de driver em camadas podem ver esta solicitação pull para as discussões mais recentes. De qualquer forma, é divertido ver a Microsoft preparando sua primeira contribuição para o Vulkan.