Wine 項目發布了帶有 Direct3D 1.11 實現的 Vkd3d 12

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

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

在新版本中:

  • 新增了將舊版 Direct3D 字節碼編譯為 SPIR-V 著色器的中間表示形式的初始支援。
  • 新增了對 HLSL 編譯器編譯 Direct3D 效果設定檔(「fx_2_0」、「fx_4_0」、「fx_4_1」和「fx_5_0」)的初始支援。
  • 新增了將 DXIL(DirectX 中間語言)編譯為 SPIR-V 表示和 Direct3D 著色器彙編指令的實驗性支援。
  • HLSL增加了對「fx_2_0」、「fx_4_0」、「fx_4_1」和「fx_5_0」設定檔的支持,實現了內建函數acos()、asin()、atan()和atan2(),並提供了對「Buffer 」的支持「 資源。
  • 新增了非同步更新句柄的最佳化,這可以使應用程式更快地每幀更新大量句柄。
  • 提供了 Vulkan 擴充 VK_EXT_mutable_descriptor_type 和 VK_EXT_shader_viewport_index_layer 的使用,以提高使用描述符池的效率並加快頂點和曲面細分著色器陣列的渲染速度。
  • 新增了對 ID3D12Device7 和 ID3D12Resource2 程式介面的支援。 GetResourceAllocationInfo3() 方法已新增至 ID12D4Device1 介面中。
  • 新增了對 D3DReflect() 和 D3DDisassemble() 介面的支援。
  • 已實施的測試請求 D3D12_FEATURE_D3D12_OPTIONS6 D3D12_FEATURE_D3D12_OPTIONS7、D3D12_FEATURE_D3D12_OPTIONS8、D3D12_FEATURE_D3D12_EATTIONS9、DD3D D12D3_OPTIONS12、D10D3_FEATURE_D12D3_OPTIONS12。
  • 新增了新的組裝選項:VKD3D_SHADER_COMPILE_OPTION_FEATURE、VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64、VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64、VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT1、VKD10D_SHADER_API_VERSA_3UU_UULOTUEXDJMDXNUMXD_SHADER_ _INDEX_LAYER 。
  • D3D12CreateDeviceVKD3D() 和 D3D12CreateDevice() 函數使用 Vulkan 擴充 VK_KHR_android_surface、VK_KHR_wayland_surface、VK_KHR_win32_surEX、VK_KHR_xlib_surface、VK_KHR_winXNUMX_surEXKsur_KHR_xlib_sur_VKface_x

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster