El projecte Wine va publicar Vkd3d 1.7 amb la implementació de Direct3D 12

El projecte Wine ha publicat el llançament del paquet vkd3d 1.7 amb una implementació de Direct3D 12 que funciona mitjançant trucades de difusió a l'API de gràfics Vulkan. El paquet inclou biblioteques libvkd3d amb implementacions de Direct3D 12, libvkd3d-shader amb un traductor dels models shader 4 i 5 i libvkd3d-utils amb funcions per simplificar la portabilitat d'aplicacions Direct3D 12, així com un conjunt d'exemples de demostració, inclòs un port de glxgears a Direct3D 12. El codi del projecte es distribueix amb llicència LGPLv2.1.

La biblioteca libvkd3d admet la majoria de les funcions de Direct3D 12, incloses les instal·lacions de gràfics i informàtics, cues i llistes d'ordres, identificadors i maneigs de pila, signatures arrel, accés fora d'ordre, samplers, signatures d'ordres, constants arrel, renderització indirecta, mètodes Clear *( ) i Copia*(). A libvkd3d-shader, s'implementa la traducció del bytecode dels models shader 4 i 5 en una representació SPIR-V intermèdia. Admet ombrejadors de vèrtex, píxels, tessel·lació, càlcul i geometria simple, serialització i deserialització de signatura arrel. Les instruccions shader inclouen operacions aritmètiques, atòmiques i de bits, operadors de comparació i control de flux de dades, instruccions de mostreig, recopilació i càrrega, operacions d'accés no ordenat (UAV, vista d'accés no ordenat).

En la nova versió:

  • Продолжена работа по улучшению компилятора шейдеров на языке HLSL (High-Level Shader Language):
    • Добавлена возможность вызова пользовательских функций и использования массивов в качестве параметров пользовательских функций.
    • Добавлена поддержка параметров SV_DispatchThreadID, SV_GroupID и SV_GroupThreadID.
    • Добавлены встроенные функции all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Добавлена начальная поддержка типов низкой точности с плавающей запятой, таких как «min16float».
  • Значительно улучшена поддержка профилей модели шейдеров Direct3D 1/2/3.
  • Добавлен публичный API для разбора (vkd3d_shader_parse_dxbc) и сериализации (vkd3d_shader_serialize_dxbc) бинарных данных DXBC.

Font: opennet.ru

Afegeix comentari