【发布时间】:2019-08-15 04:06:57
【问题描述】:
初始化这个结构的类似 C 的方法是:
VkDeviceQueueCreateInfo queueCreateInfo = {};
queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
queueCreateInfo.queueFamilyIndex = queueFamily;
queueCreateInfo.queueCount = 1;
queueCreateInfo.pQueuePriorities = &queuePriority;
使用和滥用 vulkan.hpp 标头的 C++ 方式是:
vk::DeviceQueueCreateInfo deviceQueueCreateInfo(vk::DeviceQueueCreateFlags(), static_cast<uint32_t>(graphicsQueueFamilyIndex), 1, &queuePriority);
好像很多工作都封装在vk::DeviceQueueCreateFlags()这个函数里了。
但是,使用我的编辑器查看源代码并没有发现任何有用的信息。我希望有更多经验的人可以提供一些关于该功能正在做什么的信息。
【问题讨论】:
-
由于
vk::DeviceQueueCreateInfoctor 总是将标志类型作为第一个字段,您可以通过将一组空标志表示为{}而不是vk::DeviceQueueCreateFlags()之类的东西来减少样板文件