Candidato a lançamentos Wine 8.0 e versão vkd3d 1.6

Começou o teste do primeiro candidato para o lançamento do Wine 8.0, uma implementação aberta do WinAPI. A base de código foi congelada antes do lançamento, previsto para meados de janeiro. Em comparação com o lançamento do Wine 7.22, 52 relatórios de bugs foram fechados e 538 alterações foram feitas.

As alterações mais importantes:

  • O pacote vkd3d, com a implementação do Direct3D 12 funcionando por meio da tradução de chamadas na API gráfica Vulkan, foi atualizado para a versão 1.6.
  • Foi realizada a otimização dos conversores de chamadas do sistema (thunk) para Vulkan e OpenGL.
  • No WinPrint, o suporte para manipuladores de saída de impressão (Print processor) foi ampliado.
  • Aprimorada painel de controle com o joystick.
  • Foi concluído o trabalho para garantir suporte ao tipo ‘long’ no código da função printf.
  • Relatórios de bugs relacionados ao funcionamento de jogos foram fechados: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Relatórios de bugs relacionados ao funcionamento de aplicativos foram fechados: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Adicionalmente, pode-se destacar a publicação do pacote vkd3d 1.6 pelo projeto Wine, que implementa o Direct3D 12, funcionando através da tradução de chamadas na API gráfica Vulkan. O pacote inclui as bibliotecas libvkd3d com a implementação do Direct3D 12, libvkd3d-shader com o tradutor dos modelos de sombreador 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 glxgears para o Direct3D 12. O código do projeto é distribuído sob a licença LGPLv2.1.

A biblioteca libvkd3d suporta a maior parte das capacidades do Direct3D 12, incluindo ferramentas para gráficos e computação, filas e listas de comandos, descritores e descritores de heap, assinaturas de raiz, acesso não ordenado, Samplers, assinaturas de comandos, constantes de raiz, renderização indireta, métodos Clear*() e Copy*(). A libvkd3d-shader implementa a tradução de bytecode de modelos de shaders 4 e 5 para a representação intermediária SPIR-V. Suportes para shaders de vértices, pixels, tesselação, computação e simples geometrias, além da serialização e desserialização da assinatura de raiz. Das instruções de shader, foram implementadas operações aritméticas, atômicas e bitwise, 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, o trabalho de melhoria do compilador de sombreador na linguagem HLSL (High-Level Shader Language), disponível desde o DirectX 9.0, foi continuado. Entre as melhorias relacionadas ao HLSL:

  • O suporte inicial para sombreador computacional foi implementado.
  • O suporte à inicialização e atribuição de objetos compostos, como estruturas e arrays, foi melhorado.
  • Foi adicionada a capacidade de carregar e salvar recursos de texturas usando acesso desordenado (UAV).
  • Foi adicionada a supporte a atributos de funções e implementadas funções embutidas como asuint(), length(), normalize().
  • Foi adicionada a supporte a módulos para cálculos com ponto flutuante.
  • Foi implementada a flag VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS para indicar operações atômicas sobre descritores de acesso não ordenado (UAV).

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