El projecte Wine ha llançat Vkd3d 1.4 amb la implementació de Direct3D 12

El projecte Wine ha publicat el llançament del paquet vkd3d 1.4 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*().

libvkd3d-shader 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ó:

  • S'han fet nombroses millores al compilador shader HLSL (High-Level Shader Language) proporcionat des de DirectX 9.0.
  • S'ha proposat una nova implementació del Descriptor Heap, utilitzant l'extensió Vulkan VK_EXT_descriptor_indexing.
  • S'ha afegit una nova implementació de tanca basada en l'extensió Vulkan K_KHR_timeline_semaphore.

Font: opennet.ru

Afegeix comentari