經過近三年的努力,圖形標準聯盟 Khronos 發布了 Vulkan 1.4 規範,該規範定義了用於存取 GPU 圖形和運算能力的 API。新規範吸收了先前定位為可選的累積擴展,還提供了許多新功能並提高了最低硬體要求。 Vulkan SDK工具預定於2025年XNUMX月發布。
支援 Vulkan 1.4 的產品正由 AMD、Arm、Imagination、Intel、NVIDIA、Qualcomm 和 Samsung 等廠商準備推出。由 Mesa 專案開發的適用於 AMD (radv)、Apple M1/M2 (honeykrisp)、Intel (anv)、NVIDIA (nvk) 和 Qualcomm (tu) GPU 的開源驅動程式已通過 CTS(Khronos 一致性測試套件)的所有 Vulkan 1.4 測試相容性,並被列入認證程式測試清單,並包含在認證程式列表中。該清單還包括 Samsung 和 Qualcomm 的平台驅動程式。 Android以及 Imagination Technologies 的 PowerVR D 系列 DXT* GPU 驅動程式和 NVIDIA 專有驅動程式。
主要創新:
- 增加了對「流傳輸」機制的支持,旨在實現主系統(主機)和圖形設備之間的大量資料流傳輸,而不會中斷渲染或降低其性能。此機制是使用新擴充 VK_EXT_host_image_copy 實現的,對此的支援是可選的。
- 為了提高生產力,必須具備以下功能:
- 推送描述符 - 將描述符更新直接寫入命令緩衝區的能力,而不是建立單獨的描述符集並將它們綁定到命令緩衝區。
- VK_KHR_dynamic_rendering_local_read - 允許從巢狀緩衝區(附件)和先前片段著色器寫入的資源中讀取作為動態渲染通道的一部分。
- VK_EXT_scalar_block_layout - 允許 SPIR-V 區塊採用類似 C 的結構,其中非標量類型可以根據其元件的大小進行對齊。
- 該結構包括擴展 VK_KHR_maintenance5 和 VK_KHR_maintenance6,它們提供輔助命令和結構來簡化資源和著色器的管理。
- 使用最多 8 個獨立渲染緩衝區保證支援 7680K 解析度(4320 x 8 像素)渲染。
- 擴展包括:
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_map_內存2
- VK_KHR_push_descriptor
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_subgroup_rotate
- VK_KHR_vertex_attribute_divisor
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- 許多先前可選的功能已轉為強制類別。
- 增加了大量新團隊和結構。
Vulkan API 以其驅動程式的徹底簡化、將 GPU 命令生成轉移到應用程式端、連接偵錯層的能力、針對各種平台的 API 的統一以及使用預編譯的執行程式碼中間表示形式而聞名。 。
為了確保高性能和可預測性,Vulkan 為應用程式提供了對GPU 操作的直接控制以及對GPU 多執行緒的本機支持,從而最大限度地減少了驅動程式開銷,並使驅動程式端功能更加簡單和可預測。例如,在驅動程式端以 OpenGL 實現的記憶體管理和錯誤處理等操作被移至 Vulkan 中的應用程式層級。
Vulkan 跨越所有可用平台,並為桌面、行動和 Web 提供單一 API,允許跨多個 GPU 和應用程式使用一個通用 API。由於採用 Vulkan 的多層架構,這意味著工具可以與任何 GPU 配合使用,OEM 可以在開發過程中使用行業標準工具進行程式碼審查、調試和分析。
Vulkan 提供 SPIR-V 作為著色器建立工具。 SPIR-V 是一種基於 LLVM 的可移植中間表示 (IR),它與 OpenCL 共享核心技術。 Vulkan 也支援 DirectX 中使用的 HLSL 著色器語言,並將其轉換為 SPIR-V。在設備和螢幕管理方面,Vulkan 提供 WSI(視窗系統整合)接口,其功能類似於 OpenGL ES 中的 EGL。 Wayland 內建 WSI 支持,所有基於 Vulkan 的應用程式都可以在未經修改的環境中運行。 服務器 Wayland。也提供了透過 WSI 進行工作的功能。 AndroidX11(附 DRI3) Windows、Tizen、 macOS 和iOS。
來源: opennet.ru
