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

Method findQueueFamilies

code/13_framebuffers.cpp:632–662  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

630 }
631
632 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
633 QueueFamilyIndices indices;
634
635 uint32_t queueFamilyCount = 0;
636 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
637
638 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
639 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
640
641 int i = 0;
642 for (const auto& queueFamily : queueFamilies) {
643 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
644 indices.graphicsFamily = i;
645 }
646
647 VkBool32 presentSupport = false;
648 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
649
650 if (presentSupport) {
651 indices.presentFamily = i;
652 }
653
654 if (indices.isComplete()) {
655 break;
656 }
657
658 i++;
659 }
660
661 return indices;
662 }
663
664 std::vector<const char*> getRequiredExtensions() {
665 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected