Novas versões do Wine 10.20, Vkd3d 1.18 e vkd3d-proton 3.0

Uma versão experimental da implementação open-source da API Win32 — Wine 10.20 foi publicada. Desde o lançamento da 10.19, 31 relatórios de erros foram fechados e 337 alterações foram feitas.

As alterações mais importantes:

  • O pacote embutido Vkd3d com a implementação do Direct3D 12 foi atualizado para a versão 1.18.
  • Uma janela de diálogo foi adicionada para exibir o progresso da digitalização de documentos.
  • Continuação da implementação do mecanismo Reparse Point, que permite anexar dados adicionais a arquivos e diretórios, identificados através de tags. Suporte ao Reparse Point foi adicionado nas funções CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress().
  • O refatoramento da implementação do Common Control foi continuado após a divisão da biblioteca COMCTL32 em módulos separados para as versões 5 e 6.
  • Problema de encerramento inesperado de muitos jogos (como Syberia 2) ao usar o modo WoW64 em sistemas com GPU NVIDIA foi resolvido.
  • Resolvendo o problema de lentidão na resposta ao pressionar teclas de controle de cursor em alguns jogos, como Might and Magic VI.
  • Problema de travamento ou incapacidade de iniciar algumas versões do Windows de aplicativos que usam a biblioteca GTK, como Meld e Geany, foi resolvido.
  • Relatórios de erros relacionados ao funcionamento de aplicativos foram fechados: SQL Server 2012/2014, instalador do MS Office 365, QuarkXPress 2024, TomTom MyDrive Connect 4.x, Spine, GenLauncher, grepwinNP3, PlayOnline Viewer, tlReader 10.1.0.2004, cmd.exe, CLM Explorer, HiveMQ CE 2025.5.
  • Relatórios de erros relacionados ao funcionamento de jogos foram fechados: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 — Mutagen.

O projeto Wine também lançou a versão do pacote vkd3d 1.18 com implementação do Direct3D 12, funcionando através da tradução de chamadas para a API gráfica Vulkan. O pacote inclui as bibliotecas libvkd3d com a implementação do Direct3D 12, libvkd3d-shader com o tradutor de shaders versão 4 e 5, e libvkd3d-utils com funções para facilitar a portabilidade de aplicativos Direct3D 12, além de um conjunto de exemplos demonstrativos, incluindo a porta do glxgears para Direct3D 12. O código do projeto é distribuído sob a licença LGPLv2.1.

A biblioteca libvkd3d suporta a maior parte das funcionalidades do Direct3D 12, incluindo ferramentas para gráficos e computação, filas e listas de comandos, descritores e descritores de heap, assinaturas raiz, acesso não ordenado, Samplers, assinaturas de comandos, constantes raiz, renderização indireta, métodos Clear*() e Copy*(). Na libvkd3d-shader é implementada a tradução de bytecode de modelos de shaders para uma representação intermediária SPIR-V. Suportam-se shaders de vértices, pixel, tesselação, computacionais e de geometria simples, serialização e desserialização de assinatura raiz. Entre as instruções de shader, são implementadas operações aritméticas, atômicas e de bit, operadores de comparação e controle de fluxo de dados, instruções sample, gather e load, operações de acesso não ordenado (UAV, Unordered Access View).

Na nova versão do vkd3d:

  • Funções embutidas countbits(), firstbithigh(), firstbitlow(), frexp() e texCUBEbias() foram adicionadas à implementação da linguagem de shaders HLSL. Suporte a expressões condicionais com tipos inteiros foi implementado para os perfis Shader Model 1-3.
  • No compilador de shaders HLSL, a compilação de código com operadores condicionais if/else foi otimizada. O cálculo de constantes na fase de compilação (constant folding) foi expandido. Agora, essa otimização pode ser aplicada a expressões do tipo "true ? x : y" e funções como asfloat(), asint(), asuint(), cos(), mad(), round() e sin().
  • Foi adicionado à implementação da biblioteca libvkd3d do interface de programação ID3D12Device4 o método CreateCommandList1().
  • Novas instruções de bytecode Direct3D foram adicionadas: bem, tex, texbem, texbeml e texcoord.
  • O desenvolvimento da linguagem de shaders MSL (Metal Shading Language), utilizada pela Apple no API gráfico Metal, continuou. Foi adicionada a suporte a shaders computacionais, buffers de constantes que são inicializados instantaneamente, funções trigonométricas, operações de resto e varredura bit a bit.
  • Na implementação da linguagem de shaders GLSL (OpenGL Shading Language), foram adicionadas operações de divisão e resto com números inteiros sem sinal, as funções sin() e cos(), e a capacidade de deslocar texels ao carregar texturas.

Além disso, a Valve lançou a versão VKD3D-Proton 3.0, uma ramificação da base de código vkd3d, criadas para melhorar o suporte ao Direct3D 12 no pacote de execução de jogos Proton. O VKD3D-Proton suporta alterações específicas para Proton, otimizações e melhorias para um melhor desempenho em jogos do Windows baseados em Direct3D 12, que ainda não foram incorporadas ao vkd3d principal. Entre as distinções, destaca-se a orientação para o uso de extensões modernas do Vulkan e as capacidades das versões mais recentes dos drivers gráficos para alcançar total compatibilidade com o Direct3D 12.

Entre as mudanças na nova versão do vkd3d-proton:

  • O backend de shaders DXBC (DirectX ByteCode) foi reescrito, substituindo o backend vkd3d-shader. O novo backend resolveu problemas em muitos jogos que anteriormente surgiram devido à falta de funcionalidade necessária no vkd3d-shader, por exemplo, o jogo Red Dead Redemption 2 agora funciona em modo D3D12.
  • Foi adicionada a suporte à tecnologia de super amostragem FSR4 (AMD FidelityFX Super Resolution).
  • Foi acrescentada a suporte experimental a gráficos de tarefas D3D12 (Work Graphs).
  • Foi introduzida a suporte experimental a micro mapas de opacidade (OMM — Opacity MicroMaps).
  • Problemas em jogos como Star Citizen, Ninja Gaiden 4, Monster Hunter Wilds, Wreckfest 2, Satisfactory, Street Fighter 6, Death Stranding, Wuthering Waves, Dune, Spider-Man Remastered, Gray Zone Warfare, Rise of the Tomb Raider, Port Royal, Mafia: Definitive Edition, Final Fantasy Tactics foram solucionados.

Fonte: opennet.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