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

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

Mesa 21.2 には、4.6、iris (Intel)、radeonsi (AMD)、zink、および llvmpipe ドライバー用の OpenGL 965 の完全サポートが含まれています。 OpenGL 4.5 サポートは AMD (r600) および NVIDIA (nvc0) GPU で利用でき、OpenGL 4.3 サポートは virgl (QEMU/KVM 用の Virgil3D 仮想 GPU) で利用できます。 Vulkan 1.2 のサポートは Intel および AMD カードとエミュレータ モード (vn) で利用でき、Vulkan 1.1 のサポートは Qualcomm GPU と lavapipe ソフトウェア ラスタライザーで利用でき、Vulkan 1.0 は Broadcom VideoCore VI GPU (Raspberry Pi 4) で利用できます。 。

主な革新:

  • asahi OpenGL ドライバーは、Apple M1 チップに含まれる GPU の初期サポートに含まれています。 このドライバーは Gallium インターフェイスを使用し、OpenGL 2.1 および OpenGL ES 2.0 のほとんどの機能をサポートしていますが、ほとんどのゲームの実行にはまだ適していません。 ドライバー コードは Gallium リファレンス noop ドライバーに基づいており、一部のコードは ARM Mali GPU 用に開発された Panfrost ドライバーから移植されています。
  • Crocus OpenGL ドライバーには、Iris ドライバーではサポートされていない古い Intel GPU (Gen4 ~ Gen7 マイクロアーキテクチャに基づく) のサポートが含まれています。 i965 ドライバーとは異なり、新しいドライバーは Gallium3D アーキテクチャに基づいており、メモリ管理タスクを Linux カーネルの DRI ドライバーにアウトソーシングし、出力オブジェクトの再利用キャッシュをサポートする既製の状態トラッカーを提供します。
  • PanVk ドライバーが含まれており、ARM Mali Midgard および Bifrost GPU の Vulkan グラフィックス API のサポートを提供します。 PanVk は Collabora の従業員によって開発されており、OpenGL のサポートを提供する Panfrost プロジェクトの開発の継続として位置付けられています。
  • Midgard GPU (Mali T760 以降) および Bifrost GPU (Mali G31、G52、G76) 用の Panfrost ドライバーは、OpenGL ES 3.1 をサポートします。 将来の計画には、Bifrost チップのパフォーマンスを向上させる作業と、Valhall アーキテクチャ (Mali G77 以降) に基づく GPU サポートの実装が含まれます。
  • 32 ビット x86 ビルドは、数学計算に x87 命令の代わりに sse2 命令を使用します。
  • NVIDIA GT50x GPU (GeForce GT 21×2) 用の Nouveau nv0 ドライバーは、OpenGL ES 3.1 をサポートします。
  • Qualcomm Adreno GPU 用に開発された Vulkan ドライバー TURNIP と OpenGL ドライバー Freedreno は、Adreno a6xx gen4 GPU (a660、a635) を初期サポートしています。
  • RADV (AMD) Vulkan ドライバーには、NGG (Next-Gen Geometry) シェーダー エンジンを使用したプリミティブ カリングのサポートが追加されました。 MSVC コンパイラーを使用して Windows プラットフォーム上で RADV ドライバーをビルドする機能が実装されました。
  • ANV Vulkan ドライバー (Intel) および Iris OpenGL ドライバーでは、今後の Intel Xe-HPG (DG2) グラフィックス カードのサポートを提供するための準備作業が行われています。 これには、レイ トレーシングに関連する初期機能とレイ トレーシング シェーダーのサポートが含まれます。
  • Lavapipe ドライバーは、Vulkan API 用のソフトウェア ラスタライザー (llvmpipe に似ていますが、Vulkan では Vulkan API 呼び出しを Gallium API に変換します) を実装し、「wideLines」モードをサポートします (幅が 1.0 を超える線のサポートを提供します)。
  • 動的検出と代替 GBM (Generic Buffer Manager) バックエンドのロードのサポートが実装されました。 この変更は、NVIDIA ドライバーを備えたシステムでの Wayland サポートを改善することを目的としています。
  • Zink ドライバー (Vulkan 上での OpenGL API の実装。システムに Vulkan API のみのサポートに限定されたドライバーがある場合に、ハードウェア アクセラレーションされた OpenGL を取得できます) は、OpenGL 拡張機能 GL_ARB_sample_locations、GL_ARB_sparse_buffer、GL_ARB_shader_group_vote、GL_ARB_texture_filter_minmax、および GL_ARB_shader_ Clock をサポートします。 DRM 形式修飾子を追加しました (ダイレクト レンダリング マネージャー、VK_EXT_image_drm_format_modifier 拡張機能が有効)。
  • 拡張機能のサポートが、Vulkan ドライバー RADV (AMD)、ANV (Intel)、および lavapipe に追加されました。
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_physical_device_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV、ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV、ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapipe);
    • VK_EXT_line_rasterization(ラバパイプ);
    • VK_EXT_multi_draw(ANV、ラバパイプ、RADV);
    • VK_KHR_セパレート_デプス_ステンシル_レイアウト(ラバパイプ);
    • VK_EXT_special_stencil_usage(lavapipe);
    • VK_EXT_extended_dynamic_state2 (ラバパイプ)。

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

コメントを追加します