Projeto Wine publicado Vkd3d 1.5 com implementação Direct3D 12

O projeto Wine publicou o lançamento do pacote vkd3d 1.5 com uma implementação do Direct3D 12 que funciona por meio de chamadas de transmissão para a 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).

Na nova versão:

  • Numerosas melhorias foram feitas no compilador de shader HLSL (High-Level Shader Language) fornecido desde o DirectX 9.0. Incluindo suporte aprimorado para tipos de objetos HLSL, como Texture2D em estruturas e arrays, suporte adicionado para funções integradas dot(), ldexp() e lerp(), suporte adicionado para operadores lógicos “e”, “ou” para modelos de shader 4 e 5 e “não”, bem como a capacidade de lançar tipos booleanos.
  • Implementada a opção VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV para carregar representação de acesso não ordenado (UAV) para formatos multipartes SPIR-V (DXGI_FORMAT).

Fonte: opennet.ru

Adicionar um comentário