int SDL_Vulkan_LoadLibrary(const char* path)
path | 環境に依存するVulkanローダライブラリ名 または NULL |
この関数はビデオドライバを初期化した後に呼ばなければならないが, Vulkanウィンドウを生成する前でなければならない. もしVulkanローダライブラリを読み込まなければ, 最初のVulkanウィンドウを生成するときデフォルトのライブラリが読み込まれる.
この関数を使うとアプリケーションと動的ライブラリをリンクできる. この関数とSDLは同じ検索パスを使用する.
pathがNULL以外の場合, アプリケーションがリンクしていたVulkanローダライブラリとアドレスが同一であることが保障されない限り, アプリケーションが使用する全てのVulkan関数をSDL_Vulkan_GetVkGetInstanceProcAddr()を使って動的ライブラリから読み込む必要がある.
Appleの機器の場合, pathをNULLにすると, SDLは現在のプロセスの全てのmach-oイメージからvkGetInstanceProcAddrアドレスを検索しようとする. Vulkanアプリケーションはlibvulkan(または静的リンクでよく使われていたMoltenVK)とリンクするのが一般的だからである. 見つからなかった場合, macOSではSDLはvulkan.framework/vulkan, libvulkan.1.dylib, MoltenVK.framework/MoltenVK, libMoltenVK.dylibの順に読み込もうとする. iOS SDLの場合はlibMoltenVK.dylibを読み込もうとする. アプリケーションには動的フレームワークか.dylibが同梱されている必要がある.
Appleの機器以外の場合, アプリケーションとlibvulkanとの静的リンクには対応していない. Vulkanローダとリンクしないか, 動的リンクライブラリとリンクするかのどちらかである.