O projeto Wine publicou Vkd3d 1.17 com a implementação do Direct3D 12

O projeto Wine publicou o lançamento do pacote vkd3d 1.17 com a implementação do Direct3D 12, que funciona 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 para modelos de shaders 4 e 5, e libvkd3d-utils com funções para facilitar a portabilidade de aplicações Direct3D 12, além de um conjunto de exemplos de demonstração, 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:

  • Foi adicionada no idioma dos shaders HLSL suporte inicial para memória compartilhada de grupos de threads, ampliado o suporte a shaders geométricos e incluído um parser para recursos StructuredBuffer.
  • O desenvolvimento da implementação do idioma dos shaders MSL (Metal Shading Language), utilizado pela Apple na API gráfica Metal, foi continuado. Por exemplo, o MSL agora suporta laços, endereçamento indireto de buffers constantes, amostragem de texturas e várias operações de aritmética inteira e comparação.
  • Na biblioteca libvkd3d, foi adicionado o método EnumerateMetaCommands() à implementação da interface ID3D12Device5.
  • Um novo tipo de shaders chamado "tx" (VKD3D_SHADER_SOURCE_TX) foi adicionado, utilizado para carregar shaders de processamento de texturas.

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