Projekt Wine publikoval Vkd3d 1.7 s implementáciou Direct3D 12

Projekt Wine vydal balík vkd3d 1.7 s implementáciou Direct3D 12, ktorý funguje prostredníctvom prekladu volaní do grafického API Vulkan. Balík obsahuje knižnice libvkd3d s implementáciou Direct3D 12, libvkd3d-shader s prekladačom verzií 4 a 5 shaderov a libvkd3d-utils s funkciami pre zjednodušenie portovania aplikácií Direct3D 12, ako aj súbor demonstračných príkladov, vrátane portu glxgears na Direct3D 12. Kód projektu je k dispozícii pod licenciou LGPLv2.1.

Knižnica libvkd3d podporuje väčšinu funkcií Direct3D 12, vrátane nástrojov pre grafiku a výpočty, fronty a príkazové zoznamy, deskriptory a haldy, root podpisy, neusporiadaný prístup, Sampler-y, podpisy príkazov, root konštanty, nepriamu (indirect) vykresľovanie, metódy Clear*() a Copy*(). V libvkd3d-shader bola implementovaná konverzia bytekódu shader modelov 4 a 5 na medzivrstvu SPIR-V. Podporované sú vrcholové, pixelové, tesselačné, výpočtové a jednoduché geometrické shadery, ako aj serializácia a deserializácia root podpisu. Z shaderových inštrukcií sú implementované aritmetické, atomárne a bitové operácie, porovnávacie a príkazy na riadenie toku dát, inštrukcie sample, gather a load, operácie neusporiadaného prístupu (UAV, Unordered Access View).

V novej verzii:

  • Pokračuje sa v práci na zlepšení prekladača shaderov v jazyku HLSL (High-Level Shader Language):
    • Pridala sa možnosť volania používateľských funkcií a používania polí ako parametrov používateľských funkcií.
    • Pridala sa podpora pre parametre SV_DispatchThreadID, SV_GroupID a SV_GroupThreadID.
    • Pridané vstavané funkcie all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Pridala sa počiatočná podpora pre typy s nízkou presnosťou s plávajúcou desatinnou čiarkou, ako je «min16float».
  • Signifikantne zlepšená podpora profilov modelov shaderov Direct3D 1/2/3.
  • Pridané verejné API na analýzu (vkd3d_shader_parse_dxbc) a serializáciu (vkd3d_shader_serialize_dxbc) binárnych dát DXBC.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster