gpt4 book ai didi

vulkan - pNext在Vulkan结构中的用途

转载 作者:行者123 更新时间:2023-12-04 07:51:43 26 4
gpt4 key购买 nike

Vulkan中使用的许多结构都有一个sType成员(用于标识结构的类型)和一个pNext成员(用于特定于扩展的结构)。 This answer很好地解释了sType成员的用途以及为什么需要它。尽管我不确定我是否理解其背后的原理,但它还是短暂地涉及到了pNext。

如果每个结构的第一个成员都是sType,那么当扩展名需要不同的/额外的参数时,扩展不能仅定义它们自己的结构类型吗?

最佳答案

正如规范中明确指出的那样:

Any parameter that is a structure containing a void* pNext member must have a value of pNext that is either NULL, or points to a valid structure that is defined by an enabled extension.



用于扩展。

If the first member of every structure is sType, couldn't extensions just define their own structure types when they need different/extra parameters?



那将是不可扩展的。

只有一个 sType字段。那么,两个扩展如何用新值扩展相同的API?同样,旧扩展如何与新版本的Vulkan一起使用,而Vulkan本身使用由 sType标识的不同数据结构。

使用 pNext,您就没有这个问题。每个扩展数据结构不仅将具有自己的内部 sType字段,而且无疑也将具有其自己的 pNext字段。因此,多个扩展可以扩展相同的数据结构。
sType不需要此代码,因为只有在更高版本的Vulkan中才会更改它。

关于vulkan - pNext在Vulkan结构中的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36561803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com