SwiftShader

提供: MonoBook
ナビゲーションに移動 検索に移動

SwiftShader(すいふとしぇーだー)とは、Googleオープンソースのもとで開発しているVulkanCPU上で動かすデバイスドライバーです。

SwiftShaderを使うことでVulkanに対応したいGPU(を搭載したビデオカード)がなくても、CPU上でVulkan対応の仮想ビデオカードを使えるという代物です。当然ながらSwiftShaderの激遅です。

その用途はVulkanの「理想的な動作」を確認するためのものです。Vulkanは最近でこそSteam Deck (Steam OS)などでも使われだしましたが永らくAndroid専用みたいな感じでした。Android向けのGPU(SoC)はPC向けとは比べ物にならないほど種類が多く、しかもそれらのVulkanの挙動がメチャクチャという問題がありました。

これが原因で不具合が出た際に「アプリが悪いのか」「GPUがクソなのか」の判断に困ることがありました。

そこで登場したのが「めっちゃ遅いが完璧な動作をするSwiftShader」です。たとえば、あるVulkanを使ったアプリを開発していて不具合が出たとします。その際にSwiftShaderでは正常に動くが特定のGPUでは正常に動かない場合は「プログラムは悪くない」「GPUがクソ」と判断できます。

備考[編集 | ソースを編集]

スマホSnapdragonの採用が多くなったのもVulkanの実装がメチャクチャなのが原因です。アプリ開発者だけでなくスマホ利用者にも「ゲームするならSnapdragonが安心」という風潮が根付いたせいです。ただそのSnapdragon(のAdrenoシリーズ)ですら不具合が結構な頻度で発見されています。