MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Tools / create_device

Method create_device

cube/cube.cpp:822–847  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

820}
821
822void Demo::create_device() {
823 float priorities = 0.0;
824
825 std::vector<vk::DeviceQueueCreateInfo> queues;
826 const vk::DeviceQueueCreateFlags queue_create_flags =
827 protected_output ? vk::DeviceQueueCreateFlagBits::eProtected : vk::DeviceQueueCreateFlags{};
828 queues.push_back(vk::DeviceQueueCreateInfo()
829 .setQueueFamilyIndex(graphics_queue_family_index)
830 .setQueuePriorities(priorities)
831 .setFlags(queue_create_flags));
832
833 if (separate_present_queue) {
834 queues.push_back(
835 vk::DeviceQueueCreateInfo().setQueueFamilyIndex(present_queue_family_index).setQueuePriorities(priorities));
836 }
837
838 auto const protected_memory_features = vk::PhysicalDeviceProtectedMemoryFeatures().setProtectedMemory(protected_output);
839 auto deviceInfo = vk::DeviceCreateInfo()
840 .setPNext(protected_output ? &protected_memory_features : nullptr)
841 .setQueueCreateInfos(queues)
842 .setPEnabledExtensionNames(enabled_device_extensions);
843 auto device_return = gpu.createDevice(deviceInfo);
844 VERIFY(device_return.result == vk::Result::eSuccess);
845 device = device_return.value;
846 VULKAN_HPP_DEFAULT_DISPATCHER.init(device);
847}
848
849void Demo::destroy_texture(texture_object &tex_objs) {
850 // clean up staging resources

Callers

nothing calls this directly

Calls 1

initMethod · 0.80

Tested by

no test coverage detected