Projekt Wine vydal Vkd3d 1.3 s implementací Direct3D 12

Po více než roce a půl vývoje projekt Wine vydal balík vkd3d 1.3, který implementuje Direct3D 12, pracující prostřednictvím převodu volání na grafické API Vulkan. Balík obsahuje knihovny libvkd3d s implementací Direct3D 12, libvkd3d-shader s překladačem pro šablony 4 a 5 a libvkd3d-utils s funkcemi pro usnadnění portování aplikací Direct3D 12, stejně jako sadu demonstračních příkladů, včetně portu glxgears na Direct3D 12. Kód projektu je distribuován pod licencí LGPLv2.1.

Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně prostředků pro grafiku a výpočty, front a seznamů příkazů, popisovačů a popisovačů hald, kořenových podpisů, neuspořádaného přístupu, vzorkovačů, podpisů příkazů, kořenových konstant, nepřímého vykreslování, metod Clear*() a Copy*().

V libvkd3d-shader je implementován překlad bajtkódu modelů shaderů 4 a 5 do mezilehlého formátu SPIR-V. Podporovány jsou vrcholové, pixelové, tesselační, výpočetní a jednoduché geometrické shadery, serializace a deserializace kořenového podpisu. Z shaderových instrukcí jsou implementovány aritmetické, atomární a bitové operace, operátory porovnání a řízení toku dat, instrukce sample, gather a load, operace neřazeného přístupu (UAV, Unordered Access View).

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

  • Byla přidána počáteční podpora pro kompilaci a preprocesing shaderů v jazyce HLSL (High-Level Shader Language), dostupném od DirectX 9.0.
  • Byla přidána podpora pro pole popisovačů definovaných v šablonách 5.1.
  • Byla zajištěna podpora operací s čísly s plovoucí desetinnou čárkou dvojité přesnosti ve shaderech, nepřímé adresace pro tesselační shadery, export šablon z shaderů, modifikátoru shaderů „precise“ a globálních bariér pro zdroje v paměti.
  • Byla implementována možnost disassemblace shaderů Direct3D z bajtkódu do assemblerového zobrazení.
  • Byla přidána podpora pro analýzu starého formátu bajtkódu Direct3D, používaného ve šablonách shaderů Direct3D 1, 2 a 3.
  • Do libvkd3d byly přidány funkce Direct3D 12, jako jsou kořené podpisy, počítadla pohledu s neuspořádaným přístupem, logické operátory slučování pro výstup, režim adresování textur mirror_once. Byla přidána struktura vkd3d_host_time_domain_info.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster