XNUMX年間の仕事の後、 Khronosは、Vulkan1.3仕様の新しいバージョンのリリースを発表しました。 新しい仕様には、XNUMX年間に蓄積された修正と追加が組み込まれています。
それに加えて 新しい仕様のサポートを実装するための計画が提出されました グラフィックカードとデバイスドライバの追加の拡張機能。 Intel、AMD、ARM、およびNVIDIAは、Vulkan1.3と互換性のある製品を準備しています。
例えば AMDはVulkan1.3のサポートがまもなく利用可能になると発表しました AMD Radeon RX Vegaシリーズのグラフィックスカード、およびAMDRDNAアーキテクチャに基づくすべてのカード。 NVIDIAはLinuxおよびWindows用のVulkan1.3互換ドライバーをリリースする準備をしており、ARMはMaliGPUにVulkan1.3サポートを追加します。
知らない人のために 火山、彼らはこれを知っている必要があります は、コントローラーの基本的な簡素化で際立っているAPIです。 アプリケーション側のGPUコマンド生成の削除、デバッグレイヤーのプラグイン機能、さまざまなプラットフォーム用のAPIの統合、GPU側の実行のためのプリコンパイルされた中間コードレンダリングの使用。
高いパフォーマンスと予測可能性を確保するために、 Vulkanは、GPU操作を直接制御するアプリケーションとGPUマルチスレッドの組み込みサポートをアプリケーションに提供します。、これにより、コントローラーのオーバーヘッドが最小限に抑えられ、コントローラー側の機能がはるかにシンプルで予測可能になります。 たとえば、ドライバ側のOpenGLで実装されているメモリ管理やエラー処理などの操作は、Vulkanのアプリケーション層に移動されます。
Vulkanは、利用可能なすべてのプラットフォームにまたがり、デスクトップ、モバイル、およびWeb用の単一のAPIを提供し、複数のGPUおよびアプリケーションで共通のAPIを使用できるようにします。 あらゆるGPUで動作するVulkanの多層アーキテクチャ作成ツールを使用すると、OEMは、開発中のコードレビュー、デバッグ、およびプロファイリングに汎用ツールを使用できます。
Vulkan1.3の主な新機能
提示されているVulkan1.3のこの新しいバージョンでは、次のことが強調されています。e SPIR-V1.6仕様が更新されました すべてのプラットフォームに共通のシェーダーの中間表現を定義し、 グラフィックスと並列コンピューティングの両方に使用できます。 SPIR-Vでは、個別のシェーダーコンパイルフェーズを中間表現に分離し、さまざまな高級言語用のインターフェイスを作成できるようにします。 いくつかの高レベルの実装に基づいて、組み込みのシェーダーコンパイラを使用せずに、OpenGL、Vulkan、およびOpenCLドライバーで使用できる単一の中間コードが個別に生成されます。
目立つもうXNUMXつの変更点は、eは互換性プロファイルの概念を提案します. GoogleはAndroidプラットフォームの基本的なプロファイルを開発した最初の企業です これにより、Vulkan1.0仕様を超えるデバイスでの高度なVulkan機能のサポートレベルを簡単に判断できるようになります。 ほとんどのデバイスでは、OTAアップデートをインストールせずにプロファイルサポートを提供できます。
ザ・ 簡略化されたレンダリングパスのサポートを実装 (レンダリングパスの合理化、VK_KHR_dynamic_rendering)これにより、レンダリングパスやフレームバッファオブジェクトを作成せずにレンダリングを開始できます。
さらに、グラフパイプラインのコンパイルの管理を容易にするために、新しい拡張機能が追加されました。
- VK_EXT_extended_dynamic_state、VK_EXT_extended_dynamic_state2 –追加の動的状態を追加して、コンパイルおよびアタッチされた状態オブジェクトの数を減らします。
- VK_EXT_pipeline_creation_cache_control:パイプラインを構築するタイミングと方法を拡張制御します。
- VK_EXT_pipeline_creation_feedback:プロファイリングとデバッグを容易にするためにコンパイルされたパイプラインに関する情報を提供します。
一方、オプションから必須に移動されたいくつかの機能も強調表示されています。 たとえば、バッファ参照(VK_KHR_buffer_device_address)と、並列スレッドが共有データと同期操作にアクセスする方法を定義するVulkanメモリモデルを実装することが必須になりました。
それに加えて 詳細なサブグループ制御が提供されます (VK_EXT_subgroup_size_control)プロバイダーは複数のサブグループサイズをサポートでき、開発者は必要なサイズを選択できます。
拡張機能が提供されました VK_KHR_shader_integer_dot_product その 機械学習フレームワークのパフォーマンスを最適化するために使用できます ハードウェアアクセラレーションによるポイント製品の運用を通じて。
最後に、注意する必要があります Vulkan 1.3の仕様要件は、OpenGL ES3.1クラスのグラフィックハードウェア用に設計されています。 これにより、Vulkan1.2をサポートするすべてのGPUで新しいグラフィックAPIが確実にサポートされます。
Vulkan SDKツールキットは、XNUMX月中旬にリリースされる予定です。 コア仕様に加えて、ミッドレンジおよびハイエンドのデスクトップおよびモバイルデバイス用の追加の拡張機能がVulkan MilestoneEditionの一部としてサポートされる予定です。
最後に、あなたがそれについてもっと知ることができることに興味があるなら、あなたはの詳細を調べることができます 次のリンク。