David Airlie 設法在 Lavapipe 中破解了任務/網格著色器支持,Lavapipe 是 Mesa 中基於 CPU 的軟件 Vulkan 實現。

Vulkan 的網格著色是去年使用 VK_EXT_mesh_shader 對規範做出的激動人心的補充之一,類似於 DirectX 12 中已有的功能。Mesa 內部的一些硬件 Vulkan 驅動程序中已經支持網格著色器,例如功能強大的 GPU 上的 RADV,但是 Lavapipe 的軟件實現有點棘手。 Red Hat 的 David Airlie 在合併請求中解釋說:

“這通過為它編寫一些鎵接口並將其連接到 llvmpipe 內部作為計算著色器變體,為 lavapipe 添加了 VK_EXT_mesh_shader 支持。

計算著色器的輸出通過管道返回到繪圖模塊,用於裁剪和統計數據收集。

目前通過了所有 CTS 測試。”

這個 MR 包含兩千多行新代碼,現在在 Git 中用於下一季度的 Mesa 23.2 版本。

Categories: IT Info