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

Method findQueueFamilies

code/31_compute_shader.cpp:1307–1337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1305 }
1306
1307 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
1308 QueueFamilyIndices indices;
1309
1310 uint32_t queueFamilyCount = 0;
1311 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
1312
1313 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
1314 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
1315
1316 int i = 0;
1317 for (const auto& queueFamily : queueFamilies) {
1318 if ((queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) && (queueFamily.queueFlags & VK_QUEUE_COMPUTE_BIT)) {
1319 indices.graphicsAndComputeFamily = i;
1320 }
1321
1322 VkBool32 presentSupport = false;
1323 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
1324
1325 if (presentSupport) {
1326 indices.presentFamily = i;
1327 }
1328
1329 if (indices.isComplete()) {
1330 break;
1331 }
1332
1333 i++;
1334 }
1335
1336 return indices;
1337 }
1338
1339 std::vector<const char*> getRequiredExtensions() {
1340 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected