Vīna projekts publicēja Vkd3d 1.7 ar Direct3D 12 ieviešanu

Projekts Wine ir publicējis vkd3d 1.7 pakotnes izlaidumu ar Direct3D 12 ieviešanu, kas darbojas, izmantojot apraides zvanus uz Vulkan grafikas API. Paketē ietilpst libvkd3d bibliotēkas ar Direct3D 12 implementācijām, libvkd3d-shader ar ēnotāju modeļu 4 un 5 tulkotāju un libvkd3d-utils ar funkcijām Direct3D 12 lietojumprogrammu pārnešanas vienkāršošanai, kā arī demonstrācijas piemēru kopa, ieskaitot portu. glxgears uz Direct3D 12. Projekta kods tiek izplatīts licencēts saskaņā ar LGPLv2.1.

Libvkd3d bibliotēka atbalsta lielāko daļu Direct3D 12 līdzekļu, tostarp grafikas un skaitļošanas iespējas, rindas un komandu sarakstus, rokturus un kaudzes rokturus, saknes parakstus, piekļuvi ārpus secības, paraugus, komandu parakstus, saknes konstantes, netiešo renderēšanu, notīrīt metodes *( ) un Kopēt*(). Programmā libvkd3d-shader ir realizēta 4. un 5. ēnotāju modeļu baitkoda tulkošana starpposma SPIR-V attēlojumā. Atbalsta virsotņu, pikseļu, teselāciju, aprēķinu un vienkāršus ģeometrijas ēnotājus, saknes parakstu serializāciju un deserializāciju. Shader instrukcijas ietver aritmētiskās, atomu un bitu darbības, salīdzināšanas un datu plūsmas vadības operatorus, izlases, apkopošanas un ielādes instrukcijas, nekārtotas piekļuves darbības (UAV, Unordered Access View).

Jaunajā versijā:

  • Turpinājās darbs, lai uzlabotu ēnotāju kompilatoru HLSL (augsta līmeņa ēnotāju valodā):
    • Pievienota iespēja izsaukt pielāgotas funkcijas un izmantot masīvus kā parametrus pielāgotajām funkcijām.
    • Pievienots atbalsts parametriem SV_DispatchThreadID, SV_GroupID un SV_GroupThreadID.
    • Pievienotas iebūvētās funkcijas all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , solis (), transponēt ().
    • Pievienots sākotnējais atbalsts zemas precizitātes peldošā komata veidiem, piemēram, "min16float".
  • Ievērojami uzlabots atbalsts Direct3D 1/2/3 ēnotāju modeļu profiliem.
  • Pievienots publiskais API DXBC bināro datu parsēšanai (vkd3d_shader_parse_dxbc) un serializācijai (vkd3d_shader_serialize_dxbc).

Avots: opennet.ru

Pievieno komentāru