O projeto Wine lançou o vkd3d 1.12 com a implementação do Direct3D 12

O projeto Wine lançou a versão do pacote vkd3d 1.12 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 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 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:

  • O compilador HLSL agora suporta compilação direta em código de assembler de shaders Direct3D e tipos-alvo SPIR-V.
  • No compilador HLSL, foi melhorado o suporte a perfis dos modelos de shaders 1, 2 e 3.
  • Para HLSL, foram implementadas funções embutidas como cosh(), determinant(), refract(), sinh() e tanh().
  • Na libvkd3d, foi adicionado suporte para os formatos DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM e DXGI_FORMAT_B4G4R4A4_UNORM, caso sejam suportados pela implementação existente da API Vulkan.
  • Suporte adicionado para as interfaces ID3D12ShaderCacheSession e ID3D12Device9. No interface ID3D12Device8, foram adicionados os métodos CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1() e GetResourceAllocationInfo2().
  • Foram implementadas consultas de verificação D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17 e D3D12_FEATURE_D3D12_OPTIONS18.
  • Na libvkd3d-shader, para a linguagem intermediária DXIL (DirectX Intermediate Language), foi adicionando suporte experimental para a maioria dos métodos e instruções do modelo de shader 6 do Direct3D.

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