Wine project je objavio Vkd3d 1.4 sa Direct3D 12 implementacijom

Projekat Wine je objavio izdanje paketa vkd3d 1.4 sa implementacijom Direct3D 12 koji radi putem emitovanja poziva na Vulkan grafički API. Paket uključuje libvkd3d biblioteke sa implementacijama Direct3D 12, libvkd3d-shader sa prevodiocem shader modela 4 i 5 i libvkd3d-utils sa funkcijama za pojednostavljenje prenosa Direct3D 12 aplikacija, kao i skup demo primjera, uključujući port od glxgears u Direct3D 12. Projektni kod se distribuira pod licencom LGPLv2.1.

Biblioteka libvkd3d podržava većinu Direct3D 12 funkcija, uključujući grafičke i računarske mogućnosti, redove i liste komandi, ručke i heap ručke, korijenske potpise, pristup van redoslijeda, uzorke, potpise naredbi, korijenske konstante, indirektno prikazivanje, Clear metode *( ) i Kopiraj*().

libvkd3d-shader implementira prevođenje bajtkoda shader modela 4 i 5 u srednju SPIR-V reprezentaciju. Podržava temenske, pikselne, teselacijske, računarske i jednostavne geometrijske shadere, serijalizaciju korijenskog potpisa i deserializaciju. Instrukcije shadera uključuju aritmetičke, atomske i bitne operacije, operatore poređenja i kontrole protoka podataka, instrukcije uzorka, prikupljanja i učitavanja, operacije neuređenog pristupa (UAV, Unordered Access View).

U novoj verziji:

  • Внесены многочисленные улучшения в компилятор шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0.
  • Предложена новая реализация кучи дескрипторов (Descriptor Heap), использующая Vulkan-расширение VK_EXT_descriptor_indexing.
  • Добавлена новая реализация границ (fence), основанная на Vulkan-расширении K_KHR_timeline_semaphore.

izvor: opennet.ru

Dodajte komentar