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

Method findQueueFamilies

code/09_shader_modules.cpp:479–509  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

477 }
478
479 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
480 QueueFamilyIndices indices;
481
482 uint32_t queueFamilyCount = 0;
483 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
484
485 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
486 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
487
488 int i = 0;
489 for (const auto& queueFamily : queueFamilies) {
490 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
491 indices.graphicsFamily = i;
492 }
493
494 VkBool32 presentSupport = false;
495 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
496
497 if (presentSupport) {
498 indices.presentFamily = i;
499 }
500
501 if (indices.isComplete()) {
502 break;
503 }
504
505 i++;
506 }
507
508 return indices;
509 }
510
511 std::vector<const char*> getRequiredExtensions() {
512 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected