Skip to content

Latest commit

 

History

History
36 lines (21 loc) · 3.44 KB

portability_initiative.adoc

File metadata and controls

36 lines (21 loc) · 3.44 KB

移植性に関わるイニシアチブ

Note

現在、暫定的な VK_KHR_portability_subset 拡張機能が vulkan_beta.h ヘッダで提供されています。詳細はプレスリリースを参照してください。

Vulkan Portability Initiative は、Khronos グループ内の取り組みで、現在 Vulkan のネイティブドライバが提供されていないプラットフォームを含む、すべての主要なプラットフォームでネイティブレベルのパフォーマンスで普遍的に利用できる Vulkan 機能のサブセットを定義し、発展させるためのリソースを開発しています。一言で言えば、Vulkan をネイティブにサポートしていないプラットフォーム(MacOSやiOSなど)でも、Vulkan を利用できるようにするためのイニシアチブです。

portability_initiative_overview.png

変換レイヤ

レイヤを挟んだ実装は、業界の API 断片化に対抗し、より多くのアプリケーションをより多くのプラットフォーム上で実行できるようにします。 たとえば、下の図の1行目は、Vulkan を移植対象として、プラットフォームに追加の API を導入し、カーネルレベルのドライバを追加することなく、より多くのコンテンツを実現できることを示しています。 レイヤを挟んだ API の実装は、複数のプラットフォームでの本番アプリケーションをリリースするために使われています。

図の列は、レイヤプロジェクトが、ネイティブドライバがない場合でも、追加のプラットフォームで API を利用できることを示しています。アプリケーション開発者は、選択したグラフィックス API で開発し、複数プラットフォームでリリース出来るため、柔軟な開発が可能です。図の最初の列は、Vulkan Portability Initiative の活動で、レイヤを挟んだ実装を Vulkan の機能を多様なプラットフォームで使えるようにしています。

portability_initiative_table.png

MacOS と iOS ツール

Khronos Blog では、macOS と iOS のサポートに関する情報を提供しています。

portability_initiative_macos.png

gfx-rs

現在、Mozilla は gfx-rs の移植性を推進しており、gfx-hal を他のさまざまなAPIとのインターフェイスとして使用しています。

portability_initiative_gfxrs.png