Está disponível o lançamento da camada DXVK 3.0, que fornece a implementação do DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 e 11, funcionando através da tradução de chamadas na API Vulkan. Para usar o DXVK, são necessários drivers que suportem a API Vulkan 1.4, como NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 e Intel ANV 25.1. O DXVK pode ser usado para executar aplicativos e jogos 3D no Linux com o Wine, oferecendo uma alternativa de desempenho superior às implementações do Direct3D integradas no Wine, que funcionam sobre OpenGL.
Principais mudanças:
- Para todos os modelos de sombreamento suportados, é utilizado o compilador de sombreamento dxbc-spirv. A compilação de sombreamentos foi transferida do thread principal para threads separados.
Foi implementado o cache em disco da representação intermediária dos sombreamentos (o cache é salvo no subdiretório AppData/Local no prefixo atual do Wine).
O uso do dxbc-spirv permitiu reduzir o consumo de memória, diminuir o tempo de inicialização, eliminar travamentos e resolver uma série de problemas que se manifestavam em jogos como Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone e Final Fantasy XIV, que não puderam ser resolvidos no código antigo de tradução de sombreamentos. - Para o D3D9, foi implementado suporte aos modelos de sombreamento 1-3.
- Por padrão, a extensão Vulkan VK_EXT_descriptor_heap está ativada. Em comparação com o armazenamento de descritores anteriormente utilizado baseado na extensão Vulkan,
VK_EXT_descriptor_buffer, a nova implementação fornece o mesmo nível de desempenho das operações realizadas na CPU, mas reduz a carga na GPU, especialmente ao usar placas de vídeo NVIDIA. Para operação em sistemas com placas NVIDIA, é necessário, no mínimo, a versão 595.84 dos drivers proprietários NVIDIA. A implementação baseada no VK_EXT_descriptor_buffer foi considerada obsoleta e será removida em um dos próximos lançamentos. - Na implementação do Direct3D 9, em vez de gerar sombreamentos em tempo real, agora são utilizados uber-sombreamentos, cujas versões otimizadas são compiladas em segundo plano, resolvendo problemas de travamento de alguns jogos antigos, como Unreal Tournament 2004. O carregamento de buffers é feito sob demanda, como no Windows, em vez de pré-colocação na memória de vídeo, o que eliminou falhas em alguns jogos D3D9 de 32 bits devido ao espaço de endereçamento limitado.
- Foi garantido o funcionamento correto do multisampling (MSAA) no modo D3DRS_MULTISAMPLEANTIALIAS em sistemas com suporte para as extensões Vulkan VK_EXT_sample_locations e VK_EXT_extended_dynamic_state3, o que solucionou problemas de renderização em Anno 1701, Men of War e outros jogos com MSAA ativado.
- O suporte ao trabalho com recursos compartilhados (Shared resources) foi garantido em versões padrão do Wine sem patches adicionais do projeto Proton.
- A variável de ambiente DXVK_FRAME_RATE, utilizada para limitar a taxa de quadros (Frame rate limiter), foi removida. Em vez disso, recomenda-se o uso de limitadores externos, como Gamescope e Mangohud. Para ativar o limitador embutido, pode-se usar a configuração "dxvk.maxFrameRate = n".
- Problemas resolvidos em jogos:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Insurgency & Counter-Strike
- Jump Space
- Max Payne
- Railroad Tycoon 3
- Resident Evil 6
- Sang-Froid: Tales of Werewolves
- Sea Dogs
- Splinter Cell 4
- The I of the Dragon
- The Sims 3
- Total War: Pharaoh
- Witch on the Holy Night
- World of Final Fantasy
- Vietcong
- Os requisitos para a versão mínima da API gráfica foram elevados para Vulkan 1.4.
Agora são necessárias, no mínimo, as versões dos drivers AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 e Intel ANV 25.1.
Fonte: opennet.ru
