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

Method findQueueFamilies

code/25_sampler.cpp:1358–1388  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1356 }
1357
1358 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
1359 QueueFamilyIndices indices;
1360
1361 uint32_t queueFamilyCount = 0;
1362 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
1363
1364 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
1365 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
1366
1367 int i = 0;
1368 for (const auto& queueFamily : queueFamilies) {
1369 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
1370 indices.graphicsFamily = i;
1371 }
1372
1373 VkBool32 presentSupport = false;
1374 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
1375
1376 if (presentSupport) {
1377 indices.presentFamily = i;
1378 }
1379
1380 if (indices.isComplete()) {
1381 break;
1382 }
1383
1384 i++;
1385 }
1386
1387 return indices;
1388 }
1389
1390 std::vector<const char*> getRequiredExtensions() {
1391 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected