O projeto Wine lançou o Vkd3d 1.7 com implementação do Direct3D 12

O projeto Wine publicou a versão do pacote vkd3d 1.7 com a implementação do Direct3D 12, que opera por meio 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 dos modelos de sombreador 4 e 5 e libvkd3d-utils com funções para simplificar a portabilidade de aplicativos Direct3D 12, além de um conjunto de exemplos de demonstração, incluindo a porta do 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:

  • Foi dado continuidade ao trabalho de aprimoramento do compilador de sombreador na linguagem HLSL (High-Level Shader Language):
    • Adicionada a possibilidade de chamar funções personalizadas e usar arrays como parâmetros de funções personalizadas.
    • Adicionado suporte para os parâmetros SV_DispatchThreadID, SV_GroupID e SV_GroupThreadID.
    • Adicionadas funções embutidas all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Adicionado suporte inicial para tipos de precisão baixa de ponto flutuante, como 'min16float'.
  • Significativamente melhorado o suporte aos perfis de modelos de sombreador Direct3D 1/2/3.
  • Adicionada API pública para análise (vkd3d_shader_parse_dxbc) e serialização (vkd3d_shader_serialize_dxbc) de dados binários DXBC.

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