Wine 8.0 候選版本和 vkd3d 1.6 版本

第一個候選版本 Wine 8.0 的測試已經開始,它是 WinAPI 的開放實作。 程式碼庫已進入發布前的凍結階段,預計在一月中旬發布。 自 Wine 7.22 發布以來,已關閉 52 個錯誤報告並進行了 538 項更改。

最重要的變化:

  • 具有 Direct3D 3 實現(通過廣播調用 Vulkan 圖形 API 進行工作)的 vkd12d 包已更新至版本 1.6。
  • Vulkan 和 OpenGL 的系統呼叫轉換器 (thunk) 已進行最佳化。
  • WinPrint 擴展了對列印處理器的支援。
  • 改進的操縱桿控制面板。
  • 為 printf 函數程式碼中的“long”類型提供支援的工作已經完成。
  • 與遊戲操作相關的錯誤報告已關閉:《虹彩六號:維加斯2》、《虛空》、《仙境傳說Online》、《Drakan》、《星際大戰》、《科林麥克雷》、《X -COM》。
  • 已關閉與應用程式操作相關的錯誤回報:TMUnlimiter 1.2.0.0、MDB Viewer Plus、Framemaker 8、Studio One Professional 5。

此外,我們還可以注意到 Wine 專案發布了 vkd3d 1.6 包,其中包含 Direct3D 12 的實現,透過對 Vulkan 圖形 API 的呼叫進行轉換。 該軟體包包括實現 Direct3D 3 的 libvkd12d 庫、具有著色器模型 3 和 4 轉換器的 libvkd5d-shader 以及具有簡化 Direct3D 3 應用程式移植功能的 libvkd12d-utils,以及一組演示示例,其中包括一個glxgears 到端口glxgears 到端口glxgears 到端口glxgears 到端口glxgears Direct3D 12。專案代碼根據LGPLv2.1 進行分發許可。

libvkd3d 庫支援大多數 Direct3D 12 功能,包括圖形和運算設施、佇列和命令清單、句柄和堆疊句柄、根簽章、亂序存取、取樣器、命令簽章、根常數、間接渲染、清除方法 *( ) 和複製*()。 在 libvkd3d-shader 中,實作了將著色器模型 4 和 5 的字節碼轉換為中間 SPIR-V 表示形式。 支援頂點、像素、曲面細分、計算和簡單幾何著色器、根簽名序列化和反序列化。 著色器指令包括算術、原子和位元操作、比較和資料流控制運算子、採樣、收集和載入指令、無序存取操作(UAV,Unordered Access View)。

新版本繼續改進從 DirectX 9.0 開始提供的 HLSL(高級著色器語言)著色器編譯器。 與 HLSL 相關的改進包括:

  • 已實現對計算著色器的初步支援。
  • 改進了初始化和分配複合物件(例如結構和陣列)的支援。
  • 新增了使用亂序存取 (UAV) 載入和保存紋理資源的功能。
  • 新增了對函數屬性的支援並實作了內建函數 asuint()、length()、normalize()。
  • 新增了對浮點模組的支援。
  • 實作了 VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS 標誌以指示無序存取表示 (UAV) 描述符上的原子操作。

來源: opennet.ru

添加評論