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

Опубликован экспериментальный выпуск открытой реализации Win32 API — Wine 10.20. С момента выпуска 10.19 было закрыт 31 отчёт об ошибках и внесено 337 изменений.

Ndryshimet më të rëndësishme:

  • Встроенный пакет 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.

Biblioteka libvkd3d mbështet shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhë dhe lista komanduese, deskriptorë dhe deskriptorë kupë, nënshkrime rrënjësore, qasje të pa renditur, Sampler, nënshkrime komandash, konstanta rrënjësore, përshkrimin e të pavendosur (indirect) dhe metodet Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar translacioni i kodit të bajtëve të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Mbështeten shenjues të majtë, piksel, tessellim, llogaritje dhe shenjues të thjeshtë gjeometrik, serializimi dhe deserializimi i nënshkrimeve rrënjësore. Nga instruksionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorë krahasimi dhe kontrolli të rrjedhës së të dhënave, instruksionet sample, gather dhe load, operacione qasjeje të pa renditur (UAV, Unordered Access View).

Në versionin e ri të 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.

Burimi: opennet.ru

Bleni hostin e besueshëm për faqet me mbrojtje nga DDoS, VPS VDS servera 🔥 Bli hostin e besueshëm për faqet me mbrojtje nga DDoS, VPS VDS servera | ProHoster