Kandidat za izdajanje Wine 9.0 in izdaja vkd3d 1.10

Тестирование первого кандидата для релиза Wine 9.0, открытой реализации WinAPI, началось. Кодовая база переведена на стадию заморозки перед релизом, который ожидается во второй половине января. По сравнению с выпуском Wine 8.21 закрыто 52 отчёта об ошибках и внесено 391 изменение.

Najvažnije izmene:

  • Встроенный пакет vkd3d с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan, обновлён до версии 1.10.
  • Продолжается развитие функциональности, нацеленной на использование Wine в окружениях с протоколом Wayland без применения XWayland и компонентов X11. В драйвере winewayland.drv добавлена поддержка раскладок клавиатуры. Расширена поддержка графического API Vulkan и добавлены функции vkQueuePresentKHR, vkGetDeviceGroupSurfacePresentModesKHR, vkGetPhysicalDevicePresentRectanglesKHR. Добавлена функция ClipCursor и реализована возможность работы с относительными координатами при отслеживании движения мыши.
  • При использовании свежих версий GnuTLS реализована поддержка ключей шифрования DH (Diffie-Hellman).
  • Закрыты отчёты об ошибках, связанные с работой приложений: Notepad, MS Word, Roon, eFilm Workstation 2.x/3.x, Athena’s Charm Table Search 0.35b, Process Explorer, Araxis Merge 2023.5877, Framemaker 8, Internet Download Manager, Air Jura, SpeedCommander, ModOrganizer, RestoreDC, Acid-V VST plugin, MIDITrail 1.4.0.
  • Закрыты отчёты об ошибках, связанные с работой игр: For Honor, STEEP, Far Cry 5, NFS Most Wanted, Castlevania: Lords of Shadow 2, Eurobattle, Daily Chthonicle, Crimson Skies.

Можно отметить публикацию проектом Wine пакета vkd3d 1.10 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализацией Direct3D 12, libvkd3d-shader с транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

Knjižnica libvkd3d podpira večino funkcionalnosti Direct3D 12, vključno s sredstvi za grafiko in izračune, čakalnimi vrstami in seznamom ukazov, deskriptorji in kupi deskriptorjev, korenskimi podpisi, neurejenim dostopom, vzorci, podpisi ukazov, korenskimi konstantami, neodvisno (indirect) risanjem, metodami Clear*() in Copy*(). V libvkd3d-shader je implementirano prevajanje bajtkode 4. in 5. modela senčil v vmesno predstavitev SPIR-V. Podprti so vršni, pikselni, tesselacijski, izračunani in preprosti geometrijski senčila, serijalizacija in deserializacija korenskega podpisa. Od senčilnih ukazov so implementirane aritmetične, atomske in bitne operacije, operatorji primerjave in upravljanja toka prenosa podatkov, ukazi sample, gather in load, operacije neurejenega dostopa (UAV, Unordered Access View).

В новой версии продолжена работа по улучшению компилятора шейдеров на языке HLSL (High-Level Shader Language), предоставляемом начиная с DirectX 9.0: добавлена поддержка динамической индексации массивов; добавлены выражения «break», «continue» и «switch»; расширены выражения, для которых применима свёртка констант; реализованы встроенные функции ceil(), degrees(), radians(), fwidth(), tan(), tex2Dlod(), tex2Dproj(), texCUBEproj() и tex3Dproj().

V knjižnico libvkd3d so dodani novi programskih vmesniki Direct3D 12 (ID3D12Device5, ID3D12GraphicsCommandList5 in ID3D12Resource1) ter omogočeno ustvarjanje objektov stanja cevovoda (pipeline state object). V libvkd3d-utils so dodane pomožne funkcije za upravljanje z DXBC: D3DGetBlobPart(), D3DGetDebugInfo(), D3DGetInputAndOutputSignatureBlob(), D3DGetInputSignatureBlob(), D3DGetOutputSignatureBlob(), D3DStripShader(). V prevajalnik vkd3d-compiler so dodane možnosti „—fragment-coordinate-origin“ in „—semantic-compat-map“.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster