Está disponível o lançamento da camada DXVK 2.0, fornecendo uma implementação de DXGI (DirectX Graphics Infrastructure), Direct3D 9, 10 e 11, trabalhando por tradução de chamadas para a API Vulkan. O DXVK requer drivers compatíveis com a API Vulkan 1.3, como Mesa RADV 22.0, NVIDIA 510.47.03, Intel ANV 22.0 e AMDVLK. O DXVK pode ser usado para executar aplicativos e jogos 3D no Linux usando o Wine, servindo como uma alternativa de maior desempenho às implementações Direct3D 9/10/11 integradas do Wine em execução no OpenGL.
Grandes mudanças:
- Os requisitos para a versão da API gráfica Vulkan foram aumentados - agora requer um driver com suporte para Vulkan 1.3 (anteriormente era necessário o Vulkan 1.1), o que possibilitou implementar suporte para novos recursos relacionados à compilação de shaders. Na prática, o DXVK 2.0 pode ser executado em qualquer sistema que suporte o uso do pacote Proton Experimental para rodar jogos baseados em D3D11 e D3D12. Winevulkan requer pelo menos Wine 7.1 para funcionar.
- Inclui o código do projeto dxvk-native, que permite criar assemblies DXVK nativos para Linux (não vinculados ao Wine), que podem ser usados não para executar aplicativos Windows, mas em aplicativos Linux regulares, que podem ser úteis para criar portas de jogos para Linux sem alterar o código de renderização baseado em D3D.
- O suporte para Direct3D 9 foi expandido, incluindo gerenciamento de memória aprimorado (arquivos mapeados na memória são usados para armazenar cópias de texturas), suporte para leitura correta de áreas de renderização ativas foi implementado (problemas resolvidos com a aparência de artefatos ao jogar GTA IV) , e a implementação da verificação da transparência foi reformulada.
- Para Direct3D 10, as bibliotecas d3d10.dll e d3d10_1.dll foram descontinuadas, que não foram instaladas por padrão devido à presença de uma implementação mais avançada do D3D10 no wine. Ao mesmo tempo, o suporte para a API D3D10 continua na biblioteca d3d10core.dll.
- O suporte do Direct3D 11 foi levado ao nível de funcionalidade 12_1 (D3D11 Feaure Level), para atingir quais recursos como recursos lado a lado, rasterização conservadora e visualizações ordenadas do rasterizador foram implementados.
- A implementação da interface ID3D11DeviceContext, que representa o contexto do dispositivo que gera comandos de desenho, foi redesenhada e está mais próxima em seu comportamento do Windows. O retrabalho melhorou a compatibilidade com bibliotecas de terceiros e reduziu a carga da CPU. Em particular, a carga da CPU foi reduzida em jogos que usam ativamente contextos diferidos (por exemplo, Assassin's Creed: Origins) ou chamam frequentemente a operação ClearState (por exemplo, God of War).
- Foram feitas alterações relacionadas à compilação do shader. Na presença de drivers Vulkan com suporte para a extensão VK_EXT_graphics_pipeline_library, a compilação de shaders Vulkan é implementada enquanto os jogos carregam shaders D3D, e não durante a renderização, o que resolveu problemas de congelamento devido à compilação de shaders durante o jogo. A extensão necessária atualmente é suportada apenas em drivers proprietários da NVIDIA, começando com a versão 520.56.06.
- Os shaders D3D11 usam o modelo de memória Vulkan.
- Removido o limite do número de recursos que podem ser vinculados ao mesmo tempo.
- Os problemas que ocorriam nos jogos foram corrigidos:
- Alan Wake
- Alice Madness Returns
- Anomalia: Warzone Earth
- Além do bem e do mal
- Origens da Era do Dragão
- Império: guerra total
- Final Fantasy XV
- Grand Theft Auto IV
- Heróis de impérios aniquilados
- Limite King Of Fighters XIII
- Metal Gear V Solid: Zeroes terra
- Episódios de SiN: Emergência
- sonic Generations
- Homem Aranha
- O Navio
- Warhammer Online
- Sim Sete
Fonte: opennet.ru