为什么vkGetPhysicalDeviceQueueFamilyProperties没有返回值

Why vkGetPhysicalDeviceQueueFamilyProperties has no return value

提问人:James Nguyen 提问时间:11/8/2023 更新时间:11/8/2023 访问量:43

问:

Vulkan 中查询项目数组的大多数函数通常遵循类似的 API 样式(例如 vkEnumeratePhysicalDevices)。

尽管 API 用法几乎相同,但 vkGetPhysicalDeviceQueueFamilyProperties 不返回 vkGetPhysicalDeviceQueueFamilyProperties 是否有任何原因?VkResult

武尔坎

评论


答:

3赞 Nicol Bolas 11/8/2023 #1

如果函数可能失败,则返回 a。 可能由于各种原因(内存不足)而失败。VkResultvkEnumeratePhysicalDevices

vkGetPhysicalDeviceQueueFamilyProperties不允许失败,因此它不需要返回任何内容。因此,实现在创建 to start 时必须分配任何内存来保存这些属性(否则必须以不在此处分配内存的方式实现它们)。VkPhysicalDevice