Новые версии Wine 4.19 и Wine Staging 4.19

Доступен экспериментальный выпуск открытой реализации Win32 API — Wine 4.19. С момента выпуска версии 4.18 был закрыт 41 отчёт об ошибках и внесено 297 изменений.

Наиболее важные изменения:

  • Расширены возможности VBScript: добавлены функции String, LBound, RegExp.Replace. Реализованы новые выражения;
  • В WineD3D добавлены функции wined3d_stateblock_set_sampler_state() и wined3d_stateblock_set_texture_stage_state(). Реализована обработка фиксации состояния (StateBlock) в вызовах d3d9_device_SetSamplerState(), d3d9_device_SetTextureStageState(), d3d_device7_SetRenderState(), d3d_device7_SetTextureStageState(), d3d9_device_SetTexture(), d3d9_device_SetTransform(), d3d9_device_SetClipPlane(), d3d9_device_SetMaterial();
  • Реализованы вызовы dxgi_output_ReleaseOwnership() и dxgi_output_TakeOwnership();
  • Улучшена поддержка ARM64;
  • Решены проблемы с русскоязычной локализацией в диалоге настройки;
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений Slingplayer 2.0, Trivial Pursuit Unhinged, Notepad .Net, Tweet Attacks Pro, The Adventures Of Lomax, Metatrader 5, Space Hack, TeamViewer 9.0.26297, ImpotRapide 2013, Netgear Powerline 3.1, MetaEditor 5, Betfair Poker, Jack Keane 2, Indiana Jones and the Emperor’s Tomb, The Moment of Silence, Closing Ableton Live 9 Lite, Rekordbox 5.3.0, LAVFilters 0.74.x , Touhou 15.5:Antinomy of Common Flowers, R-Studio, Sniper Elite V2.

Также состоялся выпуск проекта Wine Staging 4.19, развивающего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока не пригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 840 дополнительных патчей.

В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 4.19. В основной состав Wine перенесены патчи с расширением возможностей quartz.dll, включением в crypt32.dll корневого сертификата MS от 2010 года, добавлением restrictederrorinfo.idl и расширением возможностей uianimation.dll. Добавлен новый патч для устранения проблем в вызове NtVirtualAlloc() и обновлён патч ntdll-User_Shared_Data.

Кроме того, можно отметить обновление прослойки DXVK 1.4.4 с реализацией DXGI, Direct3D 10 и Direct3D 11 поверх API Vulkan. В новом выпуске устранена ошибка, приводившая к сохранению некорректных записей в кэше состояния. Исправлены потенциальные проблемы, которые могли привести к попытке чтения ресурса до его записи при работе с вершинными и индексными буферами. Проведения оптимизация работы с буферами Stream Output и Append/Consume, используемыми в движке Unity. Сокращено потребление памяти при использовании небольших, но часто обновляемых буферов. Добавлен код для обхода проблем, приводящих к краху в игре Skyrim SE: Worked, и устранения мерцания в играх Saints Row 3/4 и Titan Quest при использовании видеокарт NVIDIA.

Также сформирован выпуск проекта D9VK 0.30, предлагающего реализацию Direct3D 9, работающую через трансляцию вызовов в графический API Vulkan. Проект основан на кодовой базе проекта DXVK, которая была расширена поддержкой Direct3D 9. В новой версии осуществлена синхронизация с DXVK 1.4.4. Внесены оптимизации производительности и улучшена работа с блокировками. Добавлена экспериментальная поддержка предопределения шейдеров. Реализованы опции D3DRS_SHADEMODE, D3DRS_POINTSIZE, D3DRS_POINTSIZE_MIN, D3DRS_POINTSIZE_MAX, D3DRS_POINTSCALE_A, D3DRS_POINTSCALE_B, D3DRS_POINTSCALE_C, D3DRS_POINTSCALEENABLE и D3DRS_POINTSPRITEENABLE. Внесены изменения для устранения проблем в игре Halo 2.

Источник: http://www.opennet.ru/opennews/art.shtml?num=51798