Во всех создаваемых информационных структурах (vk*CreateInfo
) в новом API Vulkan присутствует ALWAYS a .sType
. Почему это происходит, если значение может быть только одним? Кроме того, спецификация Vulkan очень ясна, что вы можете использовать vk*CreateInfo
structs как параметры для своей соответствующей функции vkCreate*
. Это кажется немного лишним. Я вижу, что если драйвер передавал эту структуру прямо на графический процессор, вам может потребоваться ее (я заметил, что это всегда первый элемент). Но для приложения это выглядит очень плохо, потому что если драйвер сделает это, приложения будут гораздо меньше подвержены ошибкам, и добавление int в структуру не кажется чрезвычайно вычислительной неэффективной операцией. Я просто не понимаю, почему он существует.
TL; DR
Почему структуры vk*CreateInfo
имеют член .sType
?