Projekt Wine vydal Vkd3d 1.3 s implementací Direct3D 12

Po roce a půl vývoje vydal projekt Wine balíček vkd3d 1.3, implementaci Direct3D 12, která funguje na principu překladu volání do grafického API Vulkan. Balíček obsahuje knihovny libvkd3d s implementací Direct3D 12, libvkd3d-shader s překladačem pro modely shaderů 4 a 5 a libvkd3d-utils s funkcemi pro zjednodušení portování aplikací Direct3D 12, a také sadu dem, včetně portu glxgears do Direct3D 12. Kód projektu je distribuován pod licencí LGPLv2.1.

Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně grafických a výpočetních zařízení, front a seznamů příkazů, deskriptorů a deskriptorů haldy, kořenových signatur, neuspořádaného přístupu, samplerů, signatur příkazů, kořenových konstant, nepřímého vykreslování a metod Clear*() a Copy*().

libvkd3d-shader implementuje překlad bajtkódu 4 a 5 shader modelů do přechodné reprezentace SPIR-V. Podporuje vertex, pixel, teselaci, výpočet a jednoduchou geometrii shadery, serializaci kořenového podpisu a deserializaci. Aritmetické, atomické a bitové operace, operátory porovnávání a řízení toku dat, vzorkování, shromažďování a načítání instrukcí, operace neuspořádaného přístupu (UAV, Unordered Access View) jsou implementovány z instrukcí shaderu.

Mezi nejvýznamnější inovace ve Vkd3d 1.3 patří:

  • Přidána počáteční podpora pro kompilaci a předzpracování shaderů v jazyce HLSL (High-Level Shader Language), která je k dispozici od verze DirectX 9.0.
  • Přidána podpora pro pole deskriptorů definovaná v Shader Modelu 5.1.
  • Je poskytována podpora pro operace s plovoucí desetinnou čárkou s dvojitou přesností v shaderech, nepřímé adresování pro teselační shadery, export šablon ze shaderů, modifikátor shaderu „precise“ a globální bariéry pro paměťové prostředky.
  • Byla implementována možnost disassembleru Direct3D shaderů z bajtkódu do reprezentace v assemblerovém formátu.
  • Přidána podpora pro parsování starého formátu bytecode Direct3D používaného v modelech shaderů Direct3D 1, 2 a 3.
  • Do knihovny libvkd3d byly přidány funkce Direct3D 12, jako jsou kořenové signatury, neuspořádané čítače zobrazení, logické operátory slučování pro výstup a režim adresování textur mirror_once. Byla přidána struktura vkd3d_host_time_domain_info.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster