Uudet versiot Wine 11.10:stä ja Vkd3d 2.0:sta

Win32 API:n avoimen lähdekoodin toteutuksen Wine 11.10 kokeellinen julkaisu on julkaistu. 11.9:n julkaisun jälkeen 17 vikaraporttia on suljettu ja 248 muutosta tehty.

Tärkeimmät muutokset:

  • Sisäänrakennettu Vkd3d-paketti, jossa on Direct3D 12 -toteutus, on päivitetty versioon 2.0.
  • Предложена переработанная поддержка языка XPath, реализованная без использования библиотеки libxml2.
  • Parannettu yhteensopivuus VBScriptin kanssa.
  • В ntdll добавлены заглушки для API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() и NtAlpcImpersonateClientOfPort().
  • Улучшена поддержка Bluetooth, добавлены методы BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid и IGattDeviceService::get_AttributeHandle.
  • В реализации d3dx10 и d3dx11 добавлена возможность загрузки DDS-файлов с массивами текстур. В функцию D3DX10LoadTextureFromTexture() добавлена поддержка 3D-текстур, текстур с поддержкой уровней детализации и генерации MIP-уровней (MipMap).
  • В DLL win32u реализованы функции NtUserGetMessagePos() и NtUserSetMessageExtraInfo().
  • Закрыты отчёты об ошибках, связанные с работой приложений: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • Закрыты отчёты об ошибках, связанные с работой игр: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

Проект Wine также опубликовал выпуск пакета vkd3d 2.0 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором моделей шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

libvkd3d-kirjasto tukee useimpia Direct3D 12:n ominaisuuksia, mukaan lukien grafiikka- ja laskentaominaisuudet, komentojonot ja -listat, deskriptorit ja kekodeskriptorit, juuriallekirjoitukset, järjestämätön käyttö, samplerit, komentoallekirjoitukset, juurivakiot, epäsuora renderöinti sekä Clear*()- ja Copy*()-metodit. libvkd3d-shader toteuttaa shader-mallin tavukoodin muuntamisen SPIR-V-väliesitystavaksi. Vertex-, pikseli-, tessellaatio-, laskenta- ja yksinkertaisen geometrian varjostimet, juuriallekirjoituksen sarjoittaminen ja deserialisointi ovat tuettuja. Varjostuskäskyihin kuuluvat aritmeettiset, atomi- ja bittioperaatiot, vertailu- ja tietovuonohjausoperaattorit, näyte-, keräys- ja latauskäskyt sekä järjestämättömän käyttönäkymän (UAV) operaatiot.

Vkd3d:n uudessa versiossa:

  • В реализацию языка шейдеров HLSL добавлена начальная поддержка циклов для 2-3 моделей шейдеров, появилась возможность записи в структурированную разделяемую память группы потоков, реализованы встроенные функции tex3Dbias(), tex3Dlod() и texCUBElod(), обеспечена поддержка семантик SV_ClipDistance, SV_CullDistance и SV_StencilRef для обработки ввода и вывода от шейдеров.
  • В компиляторе шейдеров HLSL реализовано автоматическое удаление дублирующихся вычислений, обеспечено вычисление на этапе компиляции выражений вида x % y с заранее известными значениями, улучшено распределение временных регистров. В соответствии с требованиями спецификации HLSL расширена область видимости переменных в циклах «for» (переменная остаётся доступна после завершения цикла). При парсинге дробных чисел прекращён учёт локали (как разделитель теперь всегда используется точка).
  • Улучшена поддержка старого бинарного формата шейдеров Direct3D. Реализованы инструкции m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth,
    texreg2ar, texreg2gb, texreg2rgb. Добавлена поддержка модификаторов «_dz», «_db», «_dw» и «_da», которые можно использовать с инструкциями texcrd и texld. Добавлена поддержка регистров «vFace» и «vPos» для работы с пиксельными шейдерами.
  • В DXIL (Direct3D Intermediate Language) в коде, в операциях загрузки, сохранения, атомарного изменения и сравнения реализована возможность использования указателей на данные, объявленные позже.
  • В ассемблер шейдеров Direct3D добавлена поддержка 16-разрядных встроенных констант, а также флагов ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ и
    ‘waveOps’.
  • Реализованы опции компиляции шейдеров: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 и VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster