Dans la nouvelle API Vulkan, il existe une structure nécessaire pour créer un VkInstance
: VkApplicationInfo
. Voici la définition:Quel est le but de 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;
Je ne vois pas l'utilisation d'avoir à passer dans le nom de l'application, la version de l'application, le nom du moteur, ou la version du moteur. Peut-être que l'implémentation pourrait utiliser le membre pNext
pour quelque chose ou peut-être vérifier si l'implémentation prend en charge le apiVersion
spécifié. En dehors de cela, je ne comprends pas pourquoi les autres membres sont spécifiés. Les spécifications Vulkan disent que vous pouvez même utiliser NULL
au lieu d'utiliser un réel VkApplicationInfo
, ce qui le rend encore plus inutile. Est-ce que les informations de cette structure peuvent être récupérées plus tard dans l'application en utilisant (par exemple) un vkGetAppInfo(instance)
ou un autre? Y a-t-il un evil master plan derrière cette structure? Ou est juste un mauvais design? De toute façon, je suis curieux de savoir pourquoi il existe et pourquoi je devrais l'utiliser.
Que sont les IHV? (Quelque chose fournisseurs de matériel, non?) – Jerfov2
De quel type d'optimisations parlez-vous ici? Vous parlez d'optimisations spécifiques au pilote, mais qu'est-ce que cela signifie? – Jerfov2
@TheTromboneWilly: Désolé, mauvais mot. Modifié. –