2017-03-05 4 views
-1

In Vulkan erfordern einige Funktionen, dass Sie eine Struktur übergeben, die verschiedene Parameter enthält. Eines der Felder heißt stype und muss auf den Typ der Struktur festgelegt werden, die es ist.Was ist der Zweck von stype Feld?

Ein Beispiel für stype ‚Nutzung s:

VkInstanceCreateInfo info; 
info.stype = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; 
... 
VkInstance instance; 
vkCreateInstance(&info, nullptr, &instance); 

Die Funktion vkCreateInstance ein const VkInstanceCreateInfo* als Parameter, so was ist der Punkt des Feldes stype ist? Was war das Problem, das durch das Hinzufügen des Feldes behoben wurde?

+0

Wahrscheinlich es möglich machen spätere Versionen der API Felder auf die Struktur hinzuzufügen. Der Wert, den Sie in dieses Feld eingeben, gibt vulkan an, welche Version der Struktur Sie verwenden, damit er weiß, welche Felder existieren. – Eelke

Antwort

3

Damit eine zukünftige Version der Struktur durch die Art zu ändern, ohne einen neuen Einstiegspunkt aktualisieren.

jedoch zur Zeit es für die Erweiterung structs durch die pNext verknüpften Liste gefunden verwendet wird. Und all die Strukturen mit einem einheitlichen Layout zu machen, kostet nichts. Die Implementierung kann das erste Feld einfach ignorieren und einfach davon ausgehen, dass es korrekt ist.