A equipe do Wine lançou VKD3D 2.0 — uma versão principal da biblioteca que implementa a operação de aplicativos com Direct3D 12 sobre VulcãoO VKD3D é usado no Wine upstream regular para dar suporte a aplicativos D3D12; não deve ser confundido com VKD3D-Próton, uma divisão de jogos separada da Valve, usada no Proton/Steam Play.
O projeto é distribuído sob a licença Licença Pública Geral Menor GNU 2.1 ou posterior. Liberar o código-fonte Publicado no WineHQ, o código também está disponível nos repositórios do Wine.
O VKD3D 2.0 tornou-se uma transição do ramo 1.19 Diretamente para a nova versão principal. O foco principal está no desenvolvimento do subsistema de shaders e na compatibilidade de baixo nível com o Direct3D 12.
Principais mudanças:
Processamento de shaders HLSL aprimorado. O suporte à linguagem HLSL foi expandido: mais operações foram implementadas e agora são processadas corretamente pelo compilador e tradutor VKD3D. Isso é importante para a execução de aplicativos que usam shaders HLSL nativos, e não apenas bytecode pré-compilado.
Suporte aprimorado para bytecode Direct3D legado. Melhoria no tratamento de tipos de código-fonte bytecode Direct3D mais antigos para garantir a compatibilidade com formatos e ferramentas de shader mais antigos ainda encontrados em aplicativos e mecanismos.
Melhoria no funcionamento com DXIL. O VKD3D 2.0 continua a aprimorar o tratamento do DXIL, a representação intermediária moderna dos shaders DirectX. Trata-se de um formato fundamental para o D3D12, portanto, essas alterações impactam diretamente a execução correta de aplicativos mais recentes.
Adicionadas melhorias aos efeitos. Esta versão inclui alterações relacionadas a efeitos — os mecanismos para descrever e aplicar efeitos gráficos na pilha Direct3D. Trata-se mais de um componente de infraestrutura, mas é importante para a compatibilidade com o código gráfico existente.
Foi adicionado suporte experimental para MSL. O VKD3D 2.0 recebeu suporte experimental para geração. MSL — Linguagem de sombreamento Metal. O foco está na portabilidade de shaders entre plataformas onde o Vulkan é normalmente usado, por meio de camadas adicionais de compatibilidade.
Interfaces expandidas e recursos de depuração. Os desenvolvedores adicionaram novas interfaces e aprimoraram as ferramentas de depuração do VKD3D, o que deve simplificar o desenvolvimento, o diagnóstico de erros e o desenvolvimento futuro do suporte ao Direct3D 12 no Wine.
Vale a pena destacar separadamente: para a maioria dos usuários do Steam, Linux o principal componente D3D12 permanece VKD3D-Próton, em vez do VKD3D regular. No entanto, o VKD3D continua sendo uma parte importante do próprio Wine e serve como implementação base do Direct3D 12 sobre o Vulkan no projeto original.
Fonte: linux.org.ru
