It Wine-projekt hat Vkd3d 1.3 frijlitten mei Direct3D 12-ymplemintaasje

Nei in jier en in heale ûntwikkeling hat it Wine-projekt de frijlitting fan it vkd3d 1.3-pakket publisearre mei in Direct3D 12-ymplemintaasje dy't wurket troch útstjoeroproppen nei de Vulkan graphics API. It pakket omfettet libvkd3d-biblioteken mei ymplemintaasjes fan Direct3D 12, libvkd3d-shader mei in oersetter fan shader-modellen 4 en 5 en libvkd3d-utils mei funksjes foar it ferienfâldigjen fan it portearjen fan Direct3D 12-applikaasjes, lykas ek in set demo-foarbylden, ynklusyf in poarte fan glxgears oan Direct3D 12. It projekt koade wurdt ferdield lisinsje ûnder LGPLv2.1.

De libvkd3d-bibleteek stipet de measte Direct3D 12-funksjes, ynklusyf grafiken en berekkeningsfoarsjenningen, wachtrijen en kommandolisten, hânfetten en heaphandgrepen, root-hantekeningen, tagong bûten oarder, Samplers, kommando-hantekeningen, rootkonstanten, yndirekte werjefte, Dúdlike metoaden *( ) en Kopiearje*().

Yn libvkd3d-shader wurdt de oersetting fan bytekoade fan shadermodellen 4 en 5 yn in tuskenlizzende SPIR-V-representaasje ymplementearre. Vertex, piksel, tessellaasje, berekkenjen en ienfâldige geometry-shaders, serialisaasje fan root-hantekening en deserialisaasje wurde stipe. Shader ynstruksjes befetsje arithmetic, atomic en bit operaasjes, ferliking en gegevens flow control operators, sample, sammelje en laden ynstruksjes, unordered tagong operaasjes (UAV, Unordered Access View).

Under de meast wichtige ynnovaasjes yn Vkd3d 1.3 binne:

  • Inisjele stipe tafoege foar it kompilearjen en foarferwurkjen fan shaders yn HLSL (High-Level Shader Language), foarsjoen begjinnend mei DirectX 9.0.
  • Stipe tafoege foar arrays fan deskriptors definieare yn it 5.1 shader-model.
  • Biedt stipe foar dûbele-precision driuwende-punt-operaasjes yn shaders, yndirekte adressering foar tessellaasje-shaders, eksport fan sjabloanen fan shaders, in "precise" shader-modifier, en globale barriêres foar ûnthâldboarnen.
  • De mooglikheid om Direct3D-shaders te disassemble fan bytecode yn assemblagefertsjintwurdiging is ymplementearre.
  • Stipe tafoege foar it parsearjen fan it âlde Direct3D bytecode-formaat brûkt yn Direct3D 1, 2 en 3 shader modellen.
  • libvkd3d foeget Direct3D 12-funksjes ta, lykas root-hântekeningen, werjeftetellers foar bûten-oarder, logyske gearfoegingsoperators foar útfier, en mirror_once-tekstueradresseringsmodus. Vkd3d_host_time_domain_info-struktuer tafoege.

Boarne: opennet.ru

Add a comment