在vk*CreateInfo新的Vulkan API中的所有create info structs()中,总有一个.sType成员.如果价值只能是一件事,为什么会这样?此外,Vulkan规范非常明确,您只能将vk*CreateInfo结构用作其相应vkCreate*函数的参数.这似乎有点多余.我可以看到,如果驱动程序将此结构直接传递给GPU,您可能需要它(我确实注意到它始终是第一个成员).但对于应用程序而言,这似乎是一个非常糟糕的想法,因为如果驱动程序这样做,应用程序将更不容易出错,并且在结构中添加int似乎不是一个计算效率极低的操作.我只是不明白为什么它存在.
TL; DR
为什么vk*CreateInfo结构有.sType成员?