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

Method findQueueFamilies

code/15_hello_triangle.cpp:795–825  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

793 }
794
795 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
796 QueueFamilyIndices indices;
797
798 uint32_t queueFamilyCount = 0;
799 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
800
801 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
802 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
803
804 int i = 0;
805 for (const auto& queueFamily : queueFamilies) {
806 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
807 indices.graphicsFamily = i;
808 }
809
810 VkBool32 presentSupport = false;
811 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
812
813 if (presentSupport) {
814 indices.presentFamily = i;
815 }
816
817 if (indices.isComplete()) {
818 break;
819 }
820
821 i++;
822 }
823
824 return indices;
825 }
826
827 std::vector<const char*> getRequiredExtensions() {
828 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected