In der neuen Vulkan API gibt es eine Struktur, die benötigt wird, um eine VkInstance
: VkApplicationInfo
zu erstellen. Hier ist die Definition:Was ist der Sinn von VkApplicationInfo?
typedef struct VkApplicationInfo {
VkStructureType sType;
const void* pNext;
const char* pApplicationName;
uint32_t applicationVersion;
const char* pEngineName;
uint32_t engineVersion;
uint32_t apiVersion;
} VkApplicationInfo;
ich keine Verwendung finde in dem Anwendungsnamen, Anwendungsversion, Motornamen passieren zu müssen, oder Motorversion. Vielleicht könnte die Implementierung das Element pNext
für was auch immer verwenden oder vielleicht überprüfen, ob die Implementierung das angegebene apiVersion
unterstützt. Abgesehen davon verstehe ich nicht, warum die anderen Mitglieder angegeben sind. Die Vulkan-Spezifikationen sagen, dass Sie sogar NULL
statt einer tatsächlichen VkApplicationInfo
verwenden können, die es noch nutzloser macht. Können die Informationen aus dieser Struktur später in der App abgerufen werden, indem (z. B.) ein vkGetAppInfo(instance)
oder ähnliches verwendet wird? Gibt es hinter dieser Struktur eine evil master plan? Oder ist das nur ein schlechtes Design? Wie auch immer, ich bin neugierig, warum es existiert und warum ich es benutzen sollte.
Was sind IHVs? (Etwas Hardware-Anbieter, oder?) – Jerfov2
Über welche Art von Optimierungen sprichst du hier? Sie erwähnen "Treiberspezifische Optimierungen", aber was bedeutet das? – Jerfov2
@TheTromboneWilly: Sorry, falsches Wort. Überarbeitet. –