vkd3d 1.2進行了兼容性改進,著色等功能

該項目 Wine已發布了vkd3d 1.2軟件包的新版本Direct3D 12實施 通過將調用轉換為Vulkan圖形API來工作。

vkd3d 1.2的新版本 包含各種改進, 但最突出的是 libvkd3d-shader作為公共庫的可用性中, 著色器支持 細分,以及流量輸出支持。

包裝並包括具有Direct3D 3實現的libvkd12d庫,libvkd3d-shader 帶有模型4和5著色器轉換器以及libvkd3d-utils,具有簡化Direct3D 12應用程序遷移的功能,以及一組演示,包括glxgears端口到Direct3D 12的移植。項目代碼在LGPLv2.1下分發。

圖書館 libvkd3d支持Direct3D 12的大多數功能, 包括圖形和計算功能,命令隊列和列表,堆描述符和描述符,根簽名,無序訪問,採樣器,命令簽名,根常量,間接表示等。

Libvkd3d著色器 實現字節碼4和5的轉換 SPIR-V中間表示形式中的陰影圖案。 支持頂點,像素,鑲嵌,計算和簡單幾何著色器,根簽名序列化和反序列化。

著色器指令包括算術,原子和按位運算, 數據流控制和比較運算符,採樣,收集和加載指令,無序訪問操作(UAV,無序訪問視圖)。

在當前的開發階段,並非所有對Direct3D 12的調用都已實現 測試主要在一組演示應用程序上進行。 該版本不包括開發中的功能,例如對複雜的幾何著色器和細分的支持,以及與Direct3D 12基本方法和著色器有關的許多增強功能,這些功能將在將來的版本中提供。

Vkd3d 1.2的主要新功能

新版本中最重要的更改是 libvkd3d-shader庫可用性 用於第三方項目,因為 添加了各種Direct3D 12功能,例如:

  • 多重採樣。
  • 預留資源。
  • 實例數據通過率。
  • 所有接口的“私有數據” API。
  • 著色器資源視圖組件映射。
  • VK_KHR_draw_indirect_count擴展名。
  • 謂詞/條件表示。
  • 沒有像素著色器的深度渲染。
  • 深度切口。 這需要VK_EXT_depth_clip_enable擴展名。
  • 丟棄光柵化器。
  • 雙源混合。
  • 放置資源的映射。
  • ReadFromSubresource()和WriteToSubresource()ID3D12Resource方法。
  • 同時訪問多隊列資源。
  • 空視圖。 也就是說,沒有基礎資源的視圖。
  • 其他幾個功能支持查詢。

除此之外, 還強調了對轉換,序列化和反序列化簽名的附加支持 root(vkd3d_serialize_versioned_root_signature()和vkd3d_create_versioned_root_signature_deserializer(),以及對流輸出的支持。

另一個引人注目的變化是 環境變量的實現: VKD3D_CONFIG設置選項以更改libvkd3d和VKD3D_VULKAN_DEVICE的行為​​,以覆蓋Vulkan API的設備。

除此之外 增加了對陰影指令的支持 bufinfo,eval_centroid,eval_sample_index,ld2ms,sample_b,sample_d,sample_info,samplepos 並初步支持5.1型著色器。

並且還支持OpenGL SPIR-V目標環境。 這允許libvkd3d-shader生成的SPIR-V與GL_ARB_gl_spirv一起使用。 這包括對OpenGL原子計數器和組合採樣器的支持。

終於 如果您想了解更多 關於此新版本,您可以查看更改的完整列表 在下面的鏈接中。

如何在Linux上安裝vkd3d?

對於那些有興趣在其係統上安裝vkd3d的人,他們應該獲取源代碼並繼續進行編譯,儘管出於實際目的或對於那些新手,他們可以毫不費力地嘗試使用該庫。 為此,他們只需要在其配置中安裝lutris。

對於那些對編譯感興趣的人,他們必須使用以下代碼獲取代碼:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

最後,必須啟用Vulkan層:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。