O proxecto Wine publicou Vkd3d 1.7 coa implementación de Direct3D 12

O proxecto Wine publicou o lanzamento do paquete vkd3d 1.7 cunha implementación de Direct3D 12 que funciona mediante chamadas de difusión á API de gráficos Vulkan. O paquete inclúe bibliotecas libvkd3d con implementacións de Direct3D 12, libvkd3d-shader cun tradutor dos modelos de sombreadores 4 e 5 e libvkd3d-utils con funcións para simplificar a portabilidade de aplicacións Direct3D 12, así como un conxunto de exemplos de demostración, incluíndo un porto de glxgears a Direct3D 12. O código do proxecto distribúese con licenza LGPLv2.1.

A biblioteca libvkd3d admite a maioría das funcións de Direct3D 12, incluíndo gráficos e instalacións informáticas, filas e listas de comandos, identificadores e identificadores de montón, sinaturas raíz, acceso fóra de orde, mostradores, sinaturas de comandos, constantes raíz, renderización indirecta, métodos claros *( ) e Copiar*(). En libvkd3d-shader, implícase a tradución do bytecode dos modelos de shader 4 e 5 nunha representación SPIR-V intermedia. Admite sombreadores de vértice, píxeles, teselación, computación e xeometría simple, serialización e deserialización de sinatura raíz. As instrucións de sombreado inclúen operacións aritméticas, atómicas e de bits, operadores de comparación e control de fluxo de datos, instrucións de mostra, recollida e carga, operacións de acceso sen ordenar (UAV, Vista de acceso sen ordenar).

Na nova versión:

  • Continuou o traballo para mellorar o compilador de shader en HLSL (High-Level Shader Language):
    • Engadida a posibilidade de chamar funcións personalizadas e usar matrices como parámetros para funcións personalizadas.
    • Engadiuse compatibilidade para os parámetros SV_DispatchThreadID, SV_GroupID e SV_GroupThreadID.
    • Engadíronse funcións integradas all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , paso (), transposición ().
    • Engadido soporte inicial para tipos de coma flotante de baixa precisión como "min16float".
  • Compatibilidade significativamente mellorada para perfís de modelos de sombreadores Direct3D 1/2/3.
  • Engadiuse a API pública para a análise (vkd3d_shader_parse_dxbc) e a serialización (vkd3d_shader_serialize_dxbc) de datos binarios DXBC.

Fonte: opennet.ru

Engadir un comentario