Tím Wine vydal VKD3D 2.0 — hlavná verzia knižnice, ktorá implementuje prevádzku aplikácií s Direct3D 12 cez VulkanVKD3D sa používa v bežnom upstreamovom Wine na podporu aplikácií D3D12; nemalo by sa zamieňať s VKD3D-Protón, samostatná herná vetva od spoločnosti Valve, používaná v hrách Proton/Steam Play.
Projekt je distribuovaný pod licenciou GNU Lesser General Public License 2.1 alebo novšia. Zverejniť zdrojový kód Kód, ktorý bol publikovaný na WineHQ, je dostupný aj prostredníctvom repozitárov Wine.
VKD3D 2.0 sa stal prechodom z vetvy 1.19 Priamo k novej hlavnej verzii. Hlavné zameranie je na vývoj shaderového subsystému a nízkoúrovňovej kompatibility s Direct3D 12.
Kľúčové zmeny:
Vylepšené spracovanie HLSL shaderov. Podpora jazyka HLSL bola rozšírená: implementovalo sa viac operácií, ktoré teraz správne spracováva kompilátor a prekladač VKD3D. To je dôležité pre spúšťanie aplikácií, ktoré používajú natívne shadery HLSL, nielen predkompilovaný bajtkód.
Vylepšená podpora pre starší bajtkód Direct3D. Vylepšené spracovanie starších typov zdrojových kódov bytecode Direct3D s cieľom zabezpečiť kompatibilitu so staršími formátmi a nástrojmi shaderov, ktoré sa stále nachádzajú v aplikáciách a engine.
Vylepšená práca s DXIL. VKD3D 2.0 naďalej zdokonaľuje spracovanie DXIL, modernej prechodnej reprezentácie shaderov DirectX. Je to kľúčový formát pre D3D12, takže tieto zmeny priamo ovplyvňujú správne spúšťanie novších aplikácií.
Pridané vylepšenia efektov. Táto verzia obsahuje zmeny týkajúce sa efektov – mechanizmov na popis a aplikáciu grafických efektov v Direct3D stacku. Ide skôr o infraštruktúrnu súčasť, ale je dôležitá pre kompatibilitu s existujúcim grafickým kódom.
Bola pridaná experimentálna podpora pre MSL. VKD3D 2.0 získal experimentálnu podporu pre generovanie MSL — Jazyk Metal Shading. Zameriava sa na prenosnosť shaderov medzi platformami, kde sa Vulkan zvyčajne používa prostredníctvom dodatočných vrstiev kompatibility.
Rozšírené rozhrania a možnosti ladenia. Vývojári pridali nové rozhrania a vylepšili ladiace nástroje VKD3D, ktoré by mali zjednodušiť vývoj, diagnostiku chýb a ďalší rozvoj podpory Direct3D 12 vo Wine.
Za zmienku stojí osobitne: pre väčšinu používateľov služby Steam, Linux hlavná zložka D3D12 zostáva VKD3D-Protón, nie bežný VKD3D. VKD3D však zostáva dôležitou súčasťou samotného Wine a slúži ako základná implementácia Direct3D 12 nad Vulkanom v projekte upstream.
Zdroj: linux.org.ru
