Новые версии Wine 10.20, Vkd3d 1.18 и vkd3d-proton 3.0

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 709
Зарегистрирован: 20.08.2022

#

Новые версии Wine 10.20, Vkd3d 1.18 и vkd3d-proton 3.0
Дата публикации:Sat, 29 Nov 2025 09:34:40 +0300

Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.20. С момента выпуска 10.19 было закрыт 31 отчёт об ошибках и внесено 337 изменений.
Наиболее важные изменения:
  • Встроенный пакет Vkd3d с реализацией Direct3D 12 обновлён до версии 1.18. Добавлено диалоговое окно для отображения прогресса сканирования документов. Продолжена реализация механизма Reparse Point, при помощи которого можно прикреплять к файлам и каталогам дополнительные данные, идентифицируемые через теги. Обеспечена поддержка Reparse Point в функциях CreateHardLink(), SetFileAttributes(), FindNextFile(), MoveFileWithProgress() Продолжен рефакторинг реализации Common Control после разделения библиотеки COMCTL32 на отдельные модули для версий 5 и 6. Решена проблема с аварийным завершением многих игр (например, Syberia 2) при использовании режима WoW64 на системах с GPU NVIDIA. Решена проблема с подвисанием реакции при нажатии клавиш управления курсором в некоторых играх, таких как Might and Magic VI. Решена проблема с зависанием или невозможностью запуска некоторых windows-сборок приложений, использующих библиотеку GTK, например, Meld и Geany. Закрыты отчёты об ошибках, связанные с работой приложений: SQL Server 2012/2014, MS Office 365 installer, QuarkXPress 2024, TomTom MyDrive Connect 4.x, Spine, GenLauncher, grepwinNP3, PlayOnline Viewer, tlReader 10.1.0.2004, cmd.exe, CLM Explorer, HiveMQ CE 2025.5. Закрыты отчёты об ошибках, связанные с работой игр: Civilization 1.2, StarCraft, Last Stand: Aftermath, Mega Man X DiVE, Wagotabi, Geneforge 1 - Mutagen.
Проект Wine также опубликовал выпуск пакета vkd3d 1.18 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.
Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байт-кода моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).
В новой версии vkd3d:
  • В реализацию языка шейдеров HLSL добавлены встроенные функции countbits(), firstbithigh(), firstbitlow(), frexp() и texCUBEbias(). Для профилей Shader Model 1-3 реализована поддержка условных выражений с целочисленными типами. В компиляторе шейдеров HLSL оптимизирована компиляция кода с условными операторами if/else. Расширено вычисление констант на этапе компиляции (constant folding). Подобная оптимизация теперь может применяться для выражений типа "true ? x : y" и функций asfloat(), asint(), asuint(), cos(), mad(), round() и sin(). В библиотеке libvkd3d в реализацию программного интерфейса ID3D12Device4 добавлен метод CreateCommandList1(). Добавлены инструкции байткода Direct3D: bem, tex, texbem, texbeml и texcoord. Продолжено развитие реализации языка шейдеров MSL (Metal Shading Language), применяемого компанией Apple в графическом API Metal. Добавлена поддержка вычислительных шейдеров, мгновенно инициализируемых буферов констант, тригонометрических функций, операций получения остатка и побитового перебора. В реализацию языка шейдеров GLSL (OpenGL Shading Language) добавлены беззнаковые целочисленные операции деления и получения остатка, функции sin() и cos(), возможность смещения текселей при загрузке текстур.
Кроме того, компания Valve опубликовала выпуск VKD3D-Proton 3.0, ответвления от кодовой базы vkd3d, созданного для улучшения поддержки Direct3D 12 в пакете для запуска игр Proton. В VKD3D-Proton поддерживаются специфичные для Proton изменения, оптимизации и улучшения для более качественной работы Windows-игр на базе Direct3D 12, которые пока не приняты в основной состав vkd3d. Из отличий также отмечается ориентация на использование современных расширений Vulkan и возможностей свежих выпусков графических драйверов для достижения полной совместимости с Direct3D 12.
Среди изменений в новой версии vkd3d-proton:
  • Переписан бэкенд шейдеров DXBC (DirectX ByteCode), который заменил собой бэкенд vkd3d-shader. Новый бэкенд решил проблемы во многих играх, ранее возникавшие из-за отсутствия в vkd3d-shader нужной функциональности, например, налажена работа игры Red Dead Redemption 2 в режиме D3D12. Добавлена поддержка технологии суперсэмплинга FSR4 (AMD FidelityFX Super Resolution). Добавлена экспериментальная поддержка графов рабочих задач D3D12 (Work Graphs). Добавлена экспериментальная поддержка микрокарт прозрачности (OMM - Opacity MicroMaps). Решены проблемы в играх Star Citizen, Ninja Gaiden 4, Monster Hunter Wilds, Wreckfest 2, Satisfactory, Street Fighter 6, Death Stranding, Wuthering Waves, Dune, Spider-Man Remastered, Gray Zone Warfare, Rise of the Tomb Raider, Port Royal, Mafia: Definitive Edition, Final Fantasy Tactics.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64340

Жизнь за Нер'зула!

Ответить