Дата публикации:Sat, 05 Sep 2026 10:05:03 +0300
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.17. С момента выпуска 11.16 был закрыто 44 отчёта об ошибках и внесено 387 изменений.
Наиболее важные изменения:
- Добавлена начальная поддержка эмуляции режимов экрана, позволяющая запускать полноэкранные приложения и игры со своим виртуальным разрешением, которое при фактической отрисовке масштабируется с учётом DPI имеющегося монитора. Например, старая игра может использовать разрешение 640x480, но показываться на экране с большим разрешением с сохранением пропорций. Добавлена поддержка функций RtlGetSystemPreferredUILanguages и RtlGetUserPreferredUILanguages для получения списка предпочитаемых языков в интерфейсе, выставленных в реестре для всей системы и отдельных пользователей, и по умолчанию формируемых на основе параметров локали. Также добавлены функции RtlGetProcessPreferredUILanguages, SetProcessPreferredUILanguages, RtlGetSetThreadPreferredUILanguages, SetThreadPreferredUILanguages для определения и выставления списка предпочитаемых языков на уровне процессов и потоков. Встроенный пакет Vkd3d с реализацией Direct3D 12 обновлён до версии 2.1. Закрыты отчёты об ошибках, связанные с работой приложений: certmgr.exe, Signtools, Advanced SystemCare 6.4, Autodesk 3ds Max 9, SketchUp 2021, Nokia S60 5th Edition SDK 1.0, PDFCreator, SafeDisc v2.05.030, Bigrats, PTC Pro Engineer Wildfire V5, VisualSubSync 1.0.2.1, PS4 Remote Play 2.x, MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x, MSXML 6.0, Sennheiser Wireless Systems Manager 4.4, Netscape Navigator 3.04, xEdit. Закрыты отчёты об ошибках, связанные с работой игр: GTA: Vice City, GTA: San Andreas, Tetris JR, Worms Blast, Horizon Chase Turbo, Star Wars: Knights of the Old Republic I/II, GunBound, Marathon, Ground Control, Ankh - Anniversary Edition, Clive Barker's Jericho.
- Сформирован выпуск проекта Wine Staging 11.17, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 279 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 11.17 и обновлён код vkd3d. В основной состав Wine перенесён патч, реализующий в библиотеке kernel32.dll функцию SetThreadpoolTimerEx. Опубликовал выпуск пакета vkd3d 2.1 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором моделей шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байт-кода моделей шейдеров в промежуточное представление SPIR-V. В новой версии vkd3d:
В реализацию языка шейдеров HLSL добавлена поддержка арифметических операций с типом "half" при использовании 4 и 5 моделей шейдеров. В компиляторе шейдеров HLSL усилены проверки входных и выходных данных, реализован проход для удаления неиспользуемых глобальных переменных (uniform) в 1-3 моделях шейдеров. В бэкенде для языка шейдеров GLSL (OpenGL Shading Language) реализована поддержка косвенной адресации входных регистров, атомарных операций сравнения и целочисленного сложения, битовых операций и барьеров, операций загрузки/сохранения для UAV (Unordered Access View) и общей памяти группы потоков. Улучшена поддержка старого бинарного формата шейдеров Direct3D. Реализованы инструкции "sub" и "break_cmp", модификаторы инструкций "_x2", "_x4", "_x8", _'d2,' "_d4" и "_d8", а также модификаторы операндов "_bias", "_x2" и "_bx2". При преобразовании в промежуточное представление шейдеров SPIR-V появилась поддержка операций конвертации чисел с плавающей запятой в 64-разрядные целые числа. В libvkd3d-utils расширена поддержка API рефлексии шейдеров. Реализованы интерфейсы ID3D10ShaderReflection, ID3D10ShaderReflection1 и ID3D11ShaderReflection, а также большинство методов интерфейсов ID3D12ShaderReflection и ID3D12ShaderReflectionType. В vkd3d-compiler добавлена опция "--allow-half-globals", а в libvkd3d-shader флаг VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS для компиляции глобальных переменных с типом "half" в представление с типом "float".
- Добавлена поддержка инкрементальной отрисовки в DXGI, реализованная при помощи Vulkan-расширения VK_KHR_incremental_present и позволяющая обновлять на экране только изменившиеся области. Новая возможность решила проблемы с отрисовкой в VirtualDJ и различных игровых лаунчерах, таких как Ubisoft Connect. Добавлена поддержка создания представлений объектов отрисовки (render target view) напрямую в буферах, что решило проблемы с появлением артефактов при отрисовке облаков в некоторых играх на движке Frostbite, таких как Battlefield 3. Реализована загрузка библиотек для поддержки специфичных для GPU Intel расширений (vendor extensions). Решены проблемы в играх Mabinogi, The Witcher 1, Ghost Recon Breakpoint, Mirrors Edge, RaceRoom Racing Experience.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=66212