Kandidát na vydanie Wine 8.0 a vydanie vkd3d 1.6

Začalo sa testovanie prvého kandidáta na vydanie Wine 8.0, otvorenej implementácie WinAPI. Základňa kódu bola uvedená do fázy zmrazenia pred vydaním, ktoré sa očakáva v polovici januára. Od vydania Wine 7.22 bolo uzavretých 52 hlásení o chybách a bolo vykonaných 538 zmien.

Najdôležitejšie zmeny:

  • Balík vkd3d s implementáciou Direct3D 12 pracujúcou prostredníctvom prekladu hovorov do grafického API Vulkan bol aktualizovaný na verziu 1.6.
  • Bola vykonaná optimalizácia prevodníkov systémových hovorov (thunkov) pre Vulkan a OpenGL.
  • WinPrint rozšíril podporu pre tlačové procesory.
  • Vylepšený ovládací panel joysticku.
  • Dokončili sa práce na poskytovaní podpory pre typ „long“ v kóde funkcie printf.
  • Chybové hlásenia súvisiace s prevádzkou hier sú uzavreté: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
  • Uzavreté chybové hlásenia súvisiace s prevádzkou aplikácií: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.

Okrem toho si môžeme všimnúť, že projekt Wine zverejnil balík vkd3d 1.6 s implementáciou Direct3D 12, pracujúci prostredníctvom prekladu volaní do grafického API Vulkan. Balík obsahuje knižnice libvkd3d s implementáciami Direct3D 12, libvkd3d-shader s prekladačom shader modelov 4 a 5 a libvkd3d-utils s funkciami na zjednodušenie portovania aplikácií Direct3D 12, ako aj sadu ukážkových príkladov vrátane portu glxgears na Direct3D 12. Kód projektu je distribuovaný s licenciou LGPLv2.1.

Knižnica libvkd3d podporuje väčšinu funkcií Direct3D 12, vrátane grafiky a výpočtových zariadení, frontov a zoznamov príkazov, rukovätí a rukovätí haldy, koreňových podpisov, prístupu mimo poradia, vzorkovníkov, podpisov príkazov, koreňových konštánt, nepriameho vykresľovania, metód Clear *( ) a Kopírovať*(). V libvkd3d-shader je implementovaný preklad bajtového kódu shader modelov 4 a 5 do strednej reprezentácie SPIR-V. Podporuje vertex, pixel, teseláciu, výpočet a jednoduchú geometriu shaderov, serializáciu koreňového podpisu a deserializáciu. Shader inštrukcie zahŕňajú aritmetické, atómové a bitové operácie, operátory porovnávania a riadenia dátového toku, vzorkovanie, zhromažďovanie a načítanie pokynov, operácie s neusporiadaným prístupom (UAV, Unordered Access View).

Nová verzia pokračuje vo vylepšovaní kompilátora shaderov v jazyku HLSL (High-Level Shader Language), ktorý je poskytovaný od DirectX 9.0. Vylepšenia súvisiace s HLSL zahŕňajú:

  • Bola implementovaná počiatočná podpora pre výpočtové shadery.
  • Vylepšená podpora pre inicializáciu a priraďovanie zložených objektov, ako sú štruktúry a polia.
  • Pridaná možnosť načítania a uloženia zdrojov textúr pomocou prístupu mimo poradia (UAV).
  • Pridaná podpora pre atribúty funkcií a implementované vstavané funkcie asuint(), length(), normalize().
  • Pridaná podpora pre moduly s pohyblivou rádovou čiarkou.
  • Implementovaný príznak VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS na označenie atómových operácií na deskriptoroch neusporiadanej reprezentácie prístupu (UAV).

Zdroj: opennet.ru

Pridať komentár