A Wine projekt közzétette a Vkd3d 1.7 verziót a Direct3D 12 megvalósításával

A Wine projekt közzétette a vkd3d 1.7 csomag kiadását, amely a Direct3D 12 megvalósítását biztosítja, működve a hívások átkonvertálásával a Vulkan grafikus API-ba. A csomag tartalmazza a libvkd3d könyvtárakat a Direct3D 12 megvalósításához, a libvkd3d-shader-t a 4 és 5 modell shaderek fordítójával, valamint a libvkd3d-utils-t a Direct3D 12 alkalmazások egyszerűbb portolásához szükséges funkciókkal, és bemutató példák készletét, beleértve a glxgears Direct3D 12-re való portolását is. A projekt kódja LGPLv2.1 licenc alatt terjesztésre kerül.

A libvkd3d könyvtár a Direct3D 12 lehetőségeinek nagy részét támogatja, beleértve a grafikai és számítási eszközöket, a sorokat és parancslistákat, a leírókat és a halom leírókat, a gyökér aláírásokat, nem rendezett hozzáférést, a Sampler-eket, a parancs aláírásokat, a gyökér konstansokat, közvetett (indirect) rajzolást, a Clear*() és Copy*() metódusokat. A libvkd3d-shader a 4-es és 5-ös modellek shaderek bytekódját SPIR-V köztes reprezentációvá alakítja. Támogatottak a vertex, pixel, tesszellációs, számítási és egyszerű geometriai shaderek, a gyökér aláírás sorozatának sorosítása és deszerializálása. A shader utasítások között megvalósításra került az aritmetikai, atomikus és bitműveletek, összehasonlító és adatáramlás-irányító utasítások, a sample, gather és load utasítások, valamint a nem rendezett hozzáférések (UAV, Unordered Access View) műveletei.

Az új verzióban:

  • Folytatódott a HLSL (High-Level Shader Language) nyelvű shaderek fordítójának fejlesztése:
    • Új lehetőség került bevezetésre, amely lehetővé teszi a felhasználói funkciók hívását és tömbök használatát felhasználói funkciók paramétereként.
    • Támogatás került hozzáadásra az SV_DispatchThreadID, SV_GroupID és SV_GroupThreadID paraméterekhez.
    • Új beépített függvények kerültek bevezetésre: all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Kezdeti támogatás került bevezetésre az alacsony pontosságú lebegőpontos típusok számára, mint például a ‘min16float’.
  • Jelentősen javult a Direct3D 1/2/3 shadermodellek profiljainak támogatása.
  • Nyilvános API került bevezetésre a DXBC bináris adatok elemzésére (vkd3d_shader_parse_dxbc) és sorba állítására (vkd3d_shader_serialize_dxbc).

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster