Začalo testovanie prvého kandidáta na vydanie Wine 8.0, otvorenej implementácie WinAPI. Kódová základňa bola prevedená do fázy zmrazenia pred vydaním, ktoré sa očakáva v polovici januára. V porovnaní s vydaním Wine 7.22 bolo uzavretých 52 hlásení o chybách a vykonaných 538 zmien.
Najdôležitejšie zmeny:
- Balík vkd3d s implementáciou Direct3D 12, fungujúcou prostredníctvom prekladu volaní na grafické API Vulkan, bol aktualizovaný na verziu 1.6.
- Bol vykonaný optimizačný procesor systémových volaní (thunk) pre Vulkan a OpenGL.
- Vo WinPrint bola rozšírená podpora spracovateľov výstupu na tlač (Print processor).
- Vylepšená ovládací panel joystickom.
- Práca na zabezpečení podpory typu 'long' v kóde funkcie printf bola dokončená.
- Uzavreté hlásenia o chybách súvisiace s hrami: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
- Uzavreté hlásenia o chybách súvisiace s aplikáciami: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.
Dodatkovo môžeme spomenúť zverejnenie balíka vkd3d 1.6 projektom Wine s implementáciou Direct3D 12, pracujúcou prostredníctvom prekladu volaní na grafické API Vulkan. Balík obsahuje knižnice libvkd3d s implementáciou Direct3D 12, libvkd3d-shader s prekladačom 4 a 5 modelu shaderov a libvkd3d-utils s funkciami na 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 sa distribuuje 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 sa pokračuje v práci na vylepšení prekladača shaderov v jazyku HLSL (High-Level Shader Language), poskytovaného od DirectX 9.0. Medzi zlepšeniami týkajúcimi sa HLSL:
- Bola implementovaná počiatočná podpora výpočtových shaderov.
- Zlepšená podpora inicializácie a priradenia zložených objektov, ako sú štruktúry a polia.
- Pridaná možnosť načítania a uloženia textúrnych zdrojov pomocou neformálneho prístupu (UAV).
- Pridaná podpora atribútov funkcií a implementované zabudované funkcie asuint(), length(), normalize().
- Pridaná podpora modulov na výpočty s plávajúcou desatinnou čiarkou.
- Bola implementovaná značka VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS na indikáciu atomárnych operácií nad deskriptormi neformálneho prístupu (UAV).
Zdroj: opennet.ru
