Wine 8.0 release candidate e versão vkd3d 1.6

Os testes começaram no primeiro release candidate Wine 8.0, uma implementação aberta do WinAPI. A base de código foi colocada em uma fase congelada antes do lançamento, que está previsto para meados de janeiro. Desde o lançamento do Wine 7.22, 52 relatórios de bugs foram fechados e 538 alterações foram feitas.

As mudanças mais importantes:

  • O pacote vkd3d com implementação Direct3D 12 que funciona por meio de chamadas de transmissão para a API gráfica Vulkan foi atualizado para a versão 1.6.
  • Foi realizada a otimização dos conversores de chamadas do sistema (thunks) para Vulkan e OpenGL.
  • WinPrint expandiu o suporte para processadores de impressão.
  • Painel de controle de joystick aprimorado.
  • O trabalho foi concluído para fornecer suporte para o tipo 'longo' no código da função printf.
  • Estão encerrados os relatórios de erros relacionados ao funcionamento dos jogos: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Relatórios de erros fechados relacionados ao funcionamento dos aplicativos: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Adicionalmente, podemos destacar a publicação pelo projeto Wine do pacote vkd3d 1.6 com implementação do Direct3D 12, funcionando através da tradução de chamadas à API gráfica Vulkan. O pacote inclui bibliotecas libvkd3d com implementações de Direct3D 12, libvkd3d-shader com um tradutor de modelos de shader 4 e 5 e libvkd3d-utils com funções para simplificar a portabilidade de aplicativos Direct3D 12, bem como um conjunto de exemplos de demonstração, incluindo uma porta do glxgears para Direct3D 12. O código do projeto é distribuído licenciado sob LGPLv2.1.

A biblioteca libvkd3d oferece suporte à maioria dos recursos do Direct3D 12, incluindo recursos gráficos e de computação, filas e listas de comandos, identificadores e identificadores de heap, assinaturas de raiz, acesso fora de ordem, amostradores, assinaturas de comando, constantes de raiz, renderização indireta, métodos Clear *( ) e Copiar*(). No libvkd3d-shader, a tradução do bytecode dos modelos de shader 4 e 5 em uma representação SPIR-V intermediária é implementada. Suporta sombreadores de vértice, pixel, tesselação, computação e geometria simples, serialização e desserialização de assinatura raiz. As instruções do shader incluem operações aritméticas, atômicas e de bits, operadores de comparação e controle de fluxo de dados, instruções de amostra, coleta e carregamento, operações de acesso não ordenado (UAV, Unordered Access View).

A nova versão continua melhorando o compilador de shaders em HLSL (High-Level Shader Language), fornecido a partir do DirectX 9.0. As melhorias relacionadas ao HLSL incluem:

  • O suporte inicial para sombreadores de computação foi implementado.
  • Suporte aprimorado para inicialização e atribuição de objetos compostos, como estruturas e matrizes.
  • Adicionada a capacidade de carregar e salvar recursos de textura usando acesso fora de ordem (UAV).
  • Adicionado suporte para atributos de função e funções integradas implementadas asuint(), length(), normalize().
  • Adicionado suporte para módulos de ponto flutuante.
  • Implementou o sinalizador VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS para indicar operações atômicas em descritores de representação de acesso não ordenado (UAV).

Fonte: opennet.ru

Adicionar um comentário