MCPcopy Create free account
hub / github.com/Overv/VulkanTutorial / findQueueFamilies

Method findQueueFamilies

code/11_render_passes.cpp:581–611  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

579 }
580
581 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
582 QueueFamilyIndices indices;
583
584 uint32_t queueFamilyCount = 0;
585 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
586
587 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
588 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
589
590 int i = 0;
591 for (const auto& queueFamily : queueFamilies) {
592 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
593 indices.graphicsFamily = i;
594 }
595
596 VkBool32 presentSupport = false;
597 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
598
599 if (presentSupport) {
600 indices.presentFamily = i;
601 }
602
603 if (indices.isComplete()) {
604 break;
605 }
606
607 i++;
608 }
609
610 return indices;
611 }
612
613 std::vector<const char*> getRequiredExtensions() {
614 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected