Lançamento das implementações DXVK 2.0, Direct3D 9/10/11 sobre a API Vulkan

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

Adicionar um comentário