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

Method findQueueFamilies

code/05_window_surface.cpp:249–279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

247 }
248
249 QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device) {
250 QueueFamilyIndices indices;
251
252 uint32_t queueFamilyCount = 0;
253 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr);
254
255 std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
256 vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data());
257
258 int i = 0;
259 for (const auto& queueFamily : queueFamilies) {
260 if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) {
261 indices.graphicsFamily = i;
262 }
263
264 VkBool32 presentSupport = false;
265 vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport);
266
267 if (presentSupport) {
268 indices.presentFamily = i;
269 }
270
271 if (indices.isComplete()) {
272 break;
273 }
274
275 i++;
276 }
277
278 return indices;
279 }
280
281 std::vector<const char*> getRequiredExtensions() {
282 uint32_t glfwExtensionCount = 0;

Callers

nothing calls this directly

Calls 1

isCompleteMethod · 0.45

Tested by

no test coverage detected