OpenGL と Vulkan の無料実装である Mesa 22.3 のリリース

OpenGL および Vulkan API の無料実装のリリース (Mesa 22.3.0) が公開されました。 Mesa 22.3.0 ブランチの最初のリリースは実験段階であり、コードが最終的に安定した後、安定バージョン 22.3.1 がリリースされます。

Mesa 22.3 では、Vulkan 1.3 グラフィック API のサポートは、Intel GPU の anv ドライバー、AMD GPU の radv、Qualcomm GPU の tu、およびエミュレーター モード (vn) で利用できます。 Vulkan 1.1 のサポートは lavapipe (lvp) ソフトウェア ラスタライザーに実装され、Vulkan 1.0 は v3dv ドライバー (Raspberry Pi 4 の Broadcom VideoCore VI GPU) に実装されます。

Mesa は、4.6、iris (Intel)、radeonsi (AMD)、zink、および llvmpipe ドライバーに対して完全な OpenGL 965 サポートも提供します。 OpenGL 4.5 サポートは、AMD (r600)、NVIDIA (nvc0)、および Qualcomm Adreno (freedreno) GPU、virgl (QEMU/KVM 用の virgil4.3D 仮想 GPU) の OpenGL 3、および d4.2d3 ドライバー (OpenGL を構成するレイヤー) の OpenGL 12 で利用できます。 DirectX 12 上で動作します)。

主な革新:

  • Qualcomm Adreno GPU 用の freedreno ドライバーは OpenGL 4.5 グラフィックス API のサポートを提供し、エミュレーター ドライバー (vn) は Vulkan 1.3 API をサポートします。
  • Panfrost ドライバーは、ディスク上にシェーダーをキャッシュする機能を実装し、Mali T620 GPU のサポートを追加します。 このドライバーは、OpenGL 3.1 仕様および OpenGL ES 3.1 と互換性があります。
  • RADV (AMD) Vulkan ドライバーに、GFX11/RDNA3 GPU (Radeon RX 7000 シリーズ) のサポートが追加されました。 レイ トレーシングのコードが最適化されました。 R8G8B8、B8G8R8、R16G16B16 ピクセル フォーマット、および 64 ビット頂点バッファー フォーマットのサポートが追加されました。 VK_EXT_extended_dynamic_state2 拡張機能のサポートを決定する、extendedDynamicState2PatchControlPoints フラグのサポートが追加されました。 Radeon レイトレーシング アナライザーが統合されています。
  • このパッケージには、クロスプラットフォームの並列コンピューティングを組織するための API と C 言語の拡張機能を定義する OpenCL 3.0 仕様の実装を備えた Rusticle ドライバーが含まれています。 このドライバーは Rust で書かれ、Mesa で提供される Gallium インターフェイスを使用して開発され、Mesa に存在する Clover OpenCL フロントエンドの類似物として機能します。 Clover は長い間放棄されており、Rusticl は将来の代替として位置付けられています。 Rust とrusticl のサポートはデフォルトで無効になっており、明示的なオプション「-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021」を使用してビルドする必要があります。 ビルドする場合、追加の依存関係として、rustc コンパイラー、bindgen バインディング ジェネレーター、LLVM、SPIRV-Tools、および SPIRV-LLVM-Translator が必要です。
  • RadeonSI ドライバーには、デフォルトで OpenGL を介したマルチスレッド レンダリングのサポートが含まれています。
  • データを単一のファイルに保存する新しいタイプのシェーダ キャッシュである Mesa-DB が導入されました。
  • OpenGL 拡張機能のサポートを追加しました。
    • llvmpipe の GL_ARB_shader_ Clock。
    • Zink の GL_KHR_blend_equation_advanced_coherent。
    • llvmpipe の GL_NV_shader_atomic_float。
  • Vulkan 拡張機能のサポートを追加しました。
    • Lavapipe の VK_KHR_shader_ Clock。
    • RADV、lavapipe の VK_EXT_attachment_フィードバック_ループ_レイアウト。
    • RADV の VK_KHR_global_priority。
    • RADV の場合は VK_EXT_load_store_op_none。
    • RADV の VK_EXT_mutable_descriptor_type。
    • LVP の VK_EXT_shader_atomic_float。
    • LVP の VK_EXT_shader_atomic_float2。
    • v3dv の VK_EXT_image_robustness。
    • Lavapipe、RADV、および ANV の VK_EXT_extended_dynamic_state3。
    • RADV の VK_EXT_extended_dynamic_state2。
    • v3dv の VK_EXT_pipeline_robustness。
    • ANV の VK_EXT_mesh_shader。

出所: オープンネット.ru

コメントを追加します