Projekt Wine publikoval Vkd3d 1.14 s implementáciou Direct3D 12.

Projekt Wine vydal verziu balíka vkd3d 1.14 s implementáciou Direct3D 12, ktorá funguje prostredníctvom prekladu volaní do grafického API Vulkan. Súčasťou balíka sú knižnice libvkd3d s implementáciou Direct3D 12, libvkd3d-shader s prekladačom modelov 4 a 5 shaderov a libvkd3d-utils s funkciami na zjednodušenie portovania aplikácií Direct3D 12, ako aj súbor demonštračných príkladov, vrátane portu glxgears na Direct3D 12. Kód projektu je šírený pod licenciou LGPLv2.1.

Knižnica libvkd3d podporuje väčšinu funkcií Direct3D 12, vrátane prostriedkov pre grafiku a výpočty, fronty a príkazové zoznamy, deskriptory a hromadné deskriptory, koreňové podpisy, neorganizovaný prístup, samplery, podpisy príkazov, koreňové konštanty, nepriamu (indirect) vykreslovanie, metódy Clear*() a Copy*(). V libvkd3d-shader je implementovaný preklad bajtkódu modelov shaderov do medzirezortu SPIR-V. Podporované sú vrcholové, pixelové, tesselačné, výpočtové a jednoduché geometrické shadery, serializácia a deserializácia koreňového podpisu. Medzi inštrukciami shaderov sú implementované aritmetické, atomové a bitové operácie, operátory porovnania a riadenia toku dát, inštrukcie sample, gather a load, operácie neorganizovaného prístupu (UAV, Unordered Access View).

V novej verzii:

  • Pridaná počiatočná podpora jazyka shaderov MSL (Metal Shading Language), ktorý používa spoločnosť Apple v grafickom API Metal.
  • Implementovaná podpora disassemblera pre binárne efekty.
  • V knižnici libvkd3 v rozhraní ID3D12GraphicsCommandList1 bol implementovaný metóda OMSetDepthBounds() na dynamické zmenu povoleného rozsahu hodnôt hĺbky v Z-bufri.
  • Pridaná premenna prostredia VKD3D_CAPS_OVERRIDE na prepisovanie informácií o dostupných schopnostiach aplikáciám, ako sú maximálne podporované úrovne funkčnosti a väzby zdrojov.
  • Do implementácie jazyka shaderov HLSL bola pridaná počiatočná podpora tesselačných shaderov. Implementované vstavané funkcie dst(), f32tof16(), mad(), modf() a sincos(). Pre profily 1, 2 a 3 modelov shaderov bola pridaná podpora operácie „discard“. Pridaná podpora semantiky vstupných údajov SV_SampleIndex pre fragmentové shadery a SV_GroupIndex pre výpočtové shadery.
  • Implementovaná významná dávka nových inštrukcií pre jazyk shaderov GLSL.

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