Lançamento do DXVK 3.0

Depois de seis meses de desenvolvimento, uma nova versão do DXVK (Camada de Tradução Direct3D para Vulkan) foi lançada. Esta é uma biblioteca aberta que converte chamadas de API Direct3D 8, 9, 10 e 11 em comandos Vulkan. Ela permite executar aplicativos e jogos 3D projetados para Windows em sistemas que não possuem suporte nativo ao Direct3D, aproveitando as capacidades de uma API gráfica Vulkan mais eficiente.

Principais mudanças
Na nova versão, foi feita a transição para o uso das especificações e extensões do Vulkan 1.4, o que exigirá, portanto, um driver compatível..

O DXVK agora utiliza dxbc-spirv para compilar shaders para todos os modelos de shaders suportados. Isso resolve uma série de problemas que antes eram impossíveis de corrigir:
Problemas de renderização em jogos, causados tanto pela dependência dos jogos em comportamentos indefinidos quanto pelo fato de que o FXC, em alguns casos, gera código incorreto, como em Postal: Brain Damaged, Snowrunner.
O código gerado é mais compacto do que o código SPIR-V simplesmente convertido, o que reduz significativamente a quantidade de memória ocupada pelo DXVK. Em jogos como Overwatch ou God of War, isso permite economizar cerca de 1 GiB de memória do sistema.
A compilação de shaders agora é totalmente movida para threads de trabalho, o que pode reduzir o tempo de inicialização em jogos como Days Gone e Final Fantasy XIV, ou, em alguns casos, diminuir travamentos. Anteriormente, o DXVK realizava a tradução de SPIR-V na thread do aplicativo e compilava apenas pipelines Vulkan reais nos processos de trabalho.
A representação intermediária dos shaders compilados do DXVK agora é armazenada em cache no disco dentro do diretório AppData/Local do prefixo Wine atual. Isso é necessário, pois o tempo de compilação aumentou em comparação ao compilador antigo. O caminho do cache pode ser alterado usando a variável de ambiente DXVK_SHADER_CACHE_PATH.

A nova extensão do Vulkan VK_EXT_descriptor_heap agora é utilizada por padrão em drivers que a suportam.
Espera-se que, em comparação com a antiga implementação do modelo de vinculação, baseada no VK_EXT_descriptor_buffer, este novo modelo forneça aproximadamente o mesmo nível de desempenho relacionado à CPU, evitando ao mesmo tempo a degradação do desempenho em GPUs Nvidia (requer drivers nvidia-595.84 ou mais recentes).
Mudanças no D3D9.
Para emular um pipeline obsoleto com funções fixas que permite aos jogos D3D8 e D3D9 renderizar sem shaders, o DXVK anteriormente gerava seu próprio código de shaders em tempo real com base no estado do pipeline. Em alguns jogos, como Unreal Tournament 2004, isso poderia resultar em quedas de desempenho significativas, mesmo após longos períodos de jogo.

Para corrigir isso, o DXVK agora implementa o pipeline com funções fixas na forma de um par de uber-shaders, para os quais variantes otimizadas são compiladas em segundo plano.
Otimização do carregamento de buffer
Para alinhar mais precisamente o comportamento do Windows, vários tipos de buffers que antes eram alocados diretamente na VRAM agora são carregados sob demanda, além de ter sido implementada uma estratégia de limitação da memória RAM, que corrige falhas relacionadas ao espaço de endereçamento em vários jogos D3D9 de 32 bits.
Essas mudanças também podem melhorar o desempenho em sistemas sem tamanho de BAR ajustável, em jogos como GTA IV.

Em sistemas que suportam suficientemente VK_EXT_sample_locations e VK_EXT_extended_dynamic_state3, o estado de renderização D3DRS_MULTISAMPLEANTIALIAS agora funciona corretamente, permitindo que aplicativos utilizem rasterização com uma amostra ao renderizar em alvos de renderização com múltiplas amostras. Isso resolve problemas de renderização de interface do usuário em Anno 1701, Men of War Assault Squad e problemas semelhantes em outros jogos com MSAA ativado.

Recursos compartilhados agora funcionam com a implementação original do Wine e não requerem mais correções específicas do Proton.

Também vale mencionar uma série de correções para diferentes jogos, que agora funcionarão melhor.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster