FERRAMENTAS LINUX: Os Drivers Mesa Vulkan obtêm uma estrutura de despacho de Framework comum para um melhor compartilhamento de código

quarta-feira, 3 de fevereiro de 2021

Os Drivers Mesa Vulkan obtêm uma estrutura de despacho de Framework comum para um melhor compartilhamento de código

Confira !!


O Mesa 21.1 fundiu uma estrutura de envio comum para uso por drivers Vulkan para permitir um melhor compartilhamento de código e a possibilidade de algumas extensões Vulkan serem mais facilmente suportadas em todos os drivers.

Até agora, todos os cinco drivers Mesa Vulkan (Intel ANV, Radeon RADV, Broadcom V3DV, Freedreno TURNIP e Lavapipe), todos eles tiveram sua própria versão ligeiramente modificada do script gerador de ponto de entrada da Intel. O desenvolvedor líder da Intel ANV, Jason Ekstrand, agora evita essa duplicação de código desnecessária entre os drivers e, finalmente, está trabalhando em uma configuração de pontos de entrada Vulkan unificada.

Ele explicou no MR agora fundido , "

Este commit adiciona novas estruturas de base vk_instance e vk_physical_device e move todo o código de manipulação de extensão e entrada de ANV para elas. Os drivers fornecem tabelas de despacho e tabelas de extensões suportadas no momento do init e o código principal cuida do resto. Ele lida com a verificação de extensão, preenchendo tabelas de despacho e fornece ajudantes para implementar Get * ProcAddr. "

Além de unificar as coisas e evitar duplicação de código desnecessária, o trabalho também mostra como pode haver "implementações 100% comuns" de certas extensões Vulkan onde tudo o que o driver precisa fazer é anunciar o suporte para a extensão comum. Essas extensões Vulkan comuns seriam apenas para a funcionalidade selecionada, não dependendo de fiação específica de hardware, como VK_EXT_debug_report e VK_deferred_host_operations, entre outros e certamente mais no futuro.

Já neste estágio, a unificação para uma estrutura de despacho comum para drivers Vulkan tornou a base de código mais leve em mais de duas mil linhas de código (+ 3.3k, -5.9k). É ótimo ver a unificação acontecer agora e, esperançosamente, permitir mais compartilhamento de código no futuro. Isso também deve ajudar na criação de novos drivers Vulkan no futuro, como se finalmente ver um driver Nouveau Vulkan ou para outros processadores gráficos integrados.





Fonte

Até a próxima !

Nenhum comentário:

Postar um comentário