Testování prvního kandidáta na vydání Wine 8.0, otevřené implementace WinAPI, začalo. Kódová základna byla převedena do stádia zamrznutí před vydáním, které se očekává v polovině ledna. V porovnání s vydáním Wine 7.22 bylo uzavřeno 52 chybových zpráv a provedeny 538 změny.
Nejdůležitější změny:
- Balíček vkd3d s implementací Direct3D 12, který funguje prostřednictvím překladů volání do grafického API Vulkan, byl aktualizován na verzi 1.6.
- Byla optimalizována zařízení pro systémové volání (thunks) pro Vulkan a OpenGL.
- Ve WinPrint byla rozšířena podpora zpracovatelů výstupu na tisk (Print processor).
- Byla vylepšena ovládací panel joystickem.
- Byla dokončena práce na zajištění podpory typu 'long' v kódu funkce printf.
- Byly uzavřeny chybové zprávy týkající se fungování her: Tom Clancy’s Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
- Byly uzavřeny chybové zprávy týkající se fungování aplikací: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.
Dále lze zmínit publikaci projektem Wine balíčku vkd3d 1.6 s implementací Direct3D 12, který funguje prostřednictvím překladů volání do grafického API Vulkan. Součástí balíčku jsou knihovny libvkd3d s implementací Direct3D 12, libvkd3d-shader s překladačem modelů 4 a 5 shaderů a libvkd3d-utils s funkcemi pro usnadnění portace aplikací Direct3D 12, stejně jako sada demonstračních příkladů, včetně portu glxgears na Direct3D 12. Kód projektu je distribuován pod licencí LGPLv2.1.
Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně prostředků pro grafiku a výpočty, front, seznamů příkazů, descriptorů a deskriptorů haldy, kořenových podpisů, neuspořádaného přístupu, samplerů, podpisů příkazů, kořenových konstant, nepřímého vykreslování, metod Clear*() a Copy*(). V libvkd3d-shader je implementováno překlad bytecode modelů 4 a 5 shaderů do mezivrstvy SPIR-V. Podporovány jsou vertexové, pixelové, tesselace, výpočetní a jednoduché geometrické shadery, serializace a deserializace kořenového podpisu. Z shaderových instrukcí jsou realizovány aritmetické, atomické a bitové operace, operátory porovnání a řízení toku dat, instrukce sample, gather a load, operace neuspořádaného přístupu (UAV, Unordered Access View).
V nové verzi pokračuje vývoj vylepšení kompilátoru shaderů v jazyce HLSL (High-Level Shader Language), poskytovaném od DirectX 9.0. Mezi vylepšení, která se týkají HLSL, patří:
- Byla zavedena počáteční podpora výpočetních shaderů.
- Byla vylepšena podpora inicializace a přiřazení složených objektů, jako jsou struktury a pole.
- Byla přidána možnost načítání a ukládání texturových prostředků pomocí neřízeného přístupu (UAV).
- Byla přidána podpora atributů funkcí a implementovány vestavěné funkce asuint(), length(), normalize().
- Byla přidána podpora modulů pro výpočty s pohyblivou řádovou čárkou.
- Byla zavedena značka VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS pro indikaci atomových operací nad deskriptory neřízeného přístupu (UAV).
Zdroj: opennet.ru
