Нові версії Wine 10.20, Vkd3d 1.18 та vkd3d-proton 3.0

Опубліковано експериментальний випуск відкритої реалізації 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, tlReader 10. 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 з транслятором 4 і 5 моделі шейдерів і libvkd3d-utils з функціями для спрощення портування додатків Direct3D 12, а також набір демонстраційних прикладів, включаючи порт 3Ds, порт. поширюється під ліцензією LGPLv2.1.

Бібліотека libvkd3d підтримує більшу частину можливостей Direct3D 12, включаючи засоби для графіки та обчислень, черги та списки команд, дескриптори та дескриптори купи, кореневі сигнатури, неупорядкований доступ, Sampler-и, сигнатури команд, кореневі константи, непряму 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, Port Royal.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster