El proyecto Wine ha lanzado Vkd3d 1.4 con implementación de Direct3D 12

El proyecto Wine ha publicado el lanzamiento del paquete vkd3d 1.4 con una implementación de Direct3D 12 que funciona mediante llamadas de difusión a la API de gráficos Vulkan. El paquete incluye bibliotecas libvkd3d con implementaciones de Direct3D 12, libvkd3d-shader con un traductor de los modelos de sombreado 4 y 5 y libvkd3d-utils con funciones para simplificar la migración de aplicaciones Direct3D 12, así como un conjunto de ejemplos de demostración, incluido un puerto. de glxgears a Direct3D 12. El código del proyecto se distribuye con licencia LGPLv2.1.

La biblioteca libvkd3d admite la mayoría de las funciones de Direct3D 12, incluidas funciones informáticas y gráficas, colas y listas de comandos, identificadores y identificadores de montón, firmas raíz, acceso desordenado, muestreadores, firmas de comandos, constantes raíz, renderizado indirecto, métodos Clear *( ) y Copiar*().

En libvkd3d-shader, se implementa la traducción del código de bytes de los modelos de sombreador 4 y 5 a una representación SPIR-V intermedia. Admite sombreadores de vértices, píxeles, teselación, computación y geometría simple, serialización y deserialización de firmas de raíz. Las instrucciones de sombreado incluyen operaciones aritméticas, atómicas y de bits, operadores de comparación y control de flujo de datos, instrucciones de muestreo, recopilación y carga, operaciones de acceso desordenado (UAV, vista de acceso desordenado).

Versículos nuevos:

  • Se han realizado numerosas mejoras en el compilador de sombreadores HLSL (lenguaje de sombreado de alto nivel) proporcionado desde DirectX 9.0.
  • Se ha propuesto una nueva implementación del Descriptor Heap, utilizando la extensión Vulkan VK_EXT_descriptor_indexing.
  • Se agregó una nueva implementación de valla basada en la extensión de Vulkan K_KHR_timeline_semaphore.

Fuente: opennet.ru

Añadir un comentario