El proyecto Wine lanzó Vkd3d 1.2 con implementación de Direct3D 12

Proyecto Wine publicó lanzamiento del paquete vkd3d 1.2 con la implementación de Direct3D 12, funcionando a través de la traducción de llamadas a la API gráfica Vulkan. El paquete incluye las bibliotecas libvkd3d con implementaciones de Direct3D 12, libvkd3d-shader con traductor para los modelos de sombreado 4 y 5, y libvkd3d-utils con funciones para simplificar la migración de aplicaciones de Direct3D 12, así como un conjunto de ejemplos de demostración, incluyendo la migración de glxgears a Direct3D 12. Código del proyecto se distribuye bajo la licencia LGPLv2.1.

Biblioteca libvkd3d soporta la mayor parte de las capacidades de Direct3D 12, incluyendo herramientas para gráficos y cálculos, colas y listas de comandos, descriptores y descriptores de montones, firmas raíz, acceso desordenado, muestreadores, firmas de comandos, constantes raíz, renderizado indirecto, métodos Clear*() y Copy*().

En libvkd3d-shader se ha implementado la traducción de bytecode de los modelos de sombreado 4 y 5 a representación intermedia SPIR-V. Se admiten sombreadores de vértices, píxeles, teselación, computacionales y simples geométricos, así como la serialización y deserialización de la firma raíz. Se han implementado instrucciones de sombreadores para operaciones aritméticas, atómicas y de bits, operadores de comparación y control del flujo de datos, instrucciones sample, gather y load, operaciones de acceso desordenado (UAV, Unordered Access View).

Entre los aspectos más significativos novedades en Vkd3d 1.2 se destacan:

  • La disponibilidad de la biblioteca libvkd3d-shader para su uso en proyectos externos.
  • Soporte para sombreadores de teselación.
  • Soporte para la conversión, serialización y deserialización de firmas raíz (vkd3d_serialize_versioned_root_signature() y vkd3d_create_versioned_root_signature_deserializer()).
  • Soporte para transmisión de flujo.
  • Implementación de muchas capacidades de Direct3D 12 que anteriormente no estaban disponibles, incluyendo soporte para multisampling, reserva de recursos,
    renderizado de índices indirectos, renderizado de profundidad sin sombreadores de píxeles, acceso concurrente a recursos desde diferentes colas de comandos, y vistas nulas (Null-views).
  • Se han añadido variables de entorno: VKD3D_CONFIG para establecer opciones de modificación del comportamiento de libvkd3d y VKD3D_VULKAN_DEVICE para sobrescribir el dispositivo para la API Vulkan.
  • Se agregó soporte para las instrucciones de sombreado bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster