vkGetInstanceProcAddress
jest, aby wskaźnik funkcji, które zawsze będzie działać z każdym urządzeniem stworzonym z instancji wydanego w.
Jednak funkcje wrócił może zawierać logikę wysyłki (zazwyczaj do konta dla rozszerzeń, które mogą lub nie mogą być włączone dla urządzenia), które mogą spowolnić połączenie. Dlatego istnieje vkGetDeviceProcAddress
, aby uzyskać funkcję, która nie ma logiki wysyłki. Nie jesteś zobowiązany do korzystania z nich, ale może pomóc uzyskać dodatkową prędkość.
Jest to szczególnie zauważalne w przypadku uaktywnienia kilku warstw:
Dzięki specyficznym wskaźnikiem funkcji urządzenia końcowe sklepie można go wyjąć:
obrazy z khonos loader and layer interface document
Jeśli używasz tylko 1 urządzenia e wtedy kolejność operacji dla aplikacji będzie:
dostać vkGetInstanceProcAddress
z platformy/ładowarki.
ładowanie z niego oraz zapytania o rozszerzenie i warstwę. (przy użyciu wartości null jako parametru instancji)
utwórz instancję. (użyjesz tego jako pierwszego parametru do załadowania innych funkcji)
załaduj vkEnumeratePhysicalDevices
i związanych z urządzeniami zapytań.
utwórz urządzenie z numerem vkCreateDevice
określając żądane rozszerzenia.
załaduj wszystkie pozostałe funkcje, których potrzebujesz, podając vkGetDeviceProcAddress
i przekazując urządzenie jako pierwszy parametr.
WSI i wskaźniki funkcji ładowania nie mają ze sobą nic wspólnego. –