Новые версии Wine 11.10 и Vkd3d 2.0

มีการเผยแพร่รุ่นทดลองของการใช้งานโอเพ่นซอร์สของ Win32 API, Wine 11.10 นับตั้งแต่ปล่อยอัพเดต 11.9 รายงานบั๊ก 17 รายการได้ถูกปิดลง และมีการเปลี่ยนแปลง 248 รายการ

การเปลี่ยนแปลงที่สำคัญที่สุด:

  • แพ็คเกจ Vkd3d ในตัวพร้อมการใช้งาน Direct3D 12 ได้รับการอัพเดตเป็นเวอร์ชัน 2.0
  • Предложена переработанная поддержка языка XPath, реализованная без использования библиотеки libxml2.
  • ปรับปรุงความเข้ากันได้กับ VBScript ให้ดียิ่งขึ้น
  • В 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 รองรับฟีเจอร์ Direct3D 12 ส่วนใหญ่ รวมถึงกราฟิกและการคำนวณ คิวและรายการคำสั่ง ตัวอธิบายและตัวอธิบายฮีป ลายเซ็นรูท การเข้าถึงแบบไม่เรียงลำดับ ตัวอย่าง ลายเซ็นคำสั่ง ค่าคงที่รูท การเรนเดอร์ทางอ้อม วิธี Clear*() และ Copy*() libvkd3d-shader ใช้งานการแปลไบต์โค้ดของโมเดลเชเดอร์เป็นการแสดงตัวแทนระดับกลางของ SPIR-V รองรับจุดยอด พิกเซล เทสเซลเลชั่น การคำนวณ และเชเดอร์เรขาคณิตอย่างง่าย การแปลงข้อมูลแบบอนุกรมและการแยกข้อมูลแบบอนุกรมของลายเซ็นราก คำสั่งเชเดอร์ประกอบไปด้วยการคำนวณทางคณิตศาสตร์ การดำเนินการอะตอมและบิต การเปรียบเทียบและการควบคุมการไหลของข้อมูล คำสั่งตัวอย่าง การรวบรวมและการโหลด และการดำเนินการมุมมองการเข้าถึงแบบไม่เรียงลำดับ (UAV)

ในเวอร์ชันใหม่ของ vkd3d:

  • В реализацию языка шейдеров 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.

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster