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

O projeto Wine lançou a versão do pacote vkd3d 1.14 com a 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 dos shaders de modelos 4 e 5, e libvkd3d-utils com funções para simplificar a portabilidade de aplicações 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 maioria das funcionalidades do Direct3D 12, incluindo recursos para gráficos e computação, filas e listas de comandos, descritores e descritores de heap, assinaturas raízes, acesso desordenado, samplers, assinaturas de comandos, constantes raízes, renderização indireta, métodos Clear*() e Copy*(). A libvkd3d-shader implementa a tradução de bytecode de modelos de shaders para a representação intermediária SPIR-V. Suporta shaders de vértices, pixels, tesselação, computacionais e shaders geométricos simples, serialização e desserialização de assinaturas raízes. Entre as instruções de shaders implementadas estão operações aritméticas, atômicas e bit a bit, operadores de comparação e controle de fluxo de dados, instruções sample, gather e load, além de operações de acesso desordenado (UAV, Unordered Access View).

Na nova versão:

  • Foi adicionada a suporte inicial para a língua de shaders MSL (Metal Shading Language), utilizada pela Apple na API gráfica Metal.
  • Implementado suporte para o disassemblador de efeitos binários.
  • Na biblioteca libvkd3, foi implementado o método ID3D12GraphicsCommandList1::OMSetDepthBounds() para alterar dinamicamente o intervalo permitido de valores de profundidade no Z-buffer.
  • Foi adicionada a variável de ambiente VKD3D_CAPS_OVERRIDE para sobrepor as informações de capacidades disponíveis que são fornecidas às aplicações, como os níveis máximos de funcionalidade suportados e a associação de recursos.
  • Foi adicionada suporte inicial para shaders de tesselação na implementação da linguagem de shaders HLSL. Funções embutidas como dst(), f32tof16(), mad(), modf() e sincos() foram implementadas. Para os perfis 1, 2 e 3 dos modelos de shaders, foi adicionado suporte à operação "discard". Suporte à semântica de dados de entrada SV_SampleIndex para shaders fragmentados e SV_GroupIndex para shaders computacionais foi adicionado.
  • Uma grande quantidade de novas instruções foi implementada para a linguagem de shaders GLSL.

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