MCPcopy Create free account
hub / github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook / createDevice

Function createDevice

shared/UtilsVulkan.cpp:305–339  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

303}
304
305VkResult createDevice(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures deviceFeatures, uint32_t graphicsFamily, VkDevice* device)
306{
307 const std::vector<const char*> extensions =
308 {
309 VK_KHR_SWAPCHAIN_EXTENSION_NAME
310 };
311
312 const float queuePriority = 1.0f;
313
314 const VkDeviceQueueCreateInfo qci =
315 {
316 .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
317 .pNext = nullptr,
318 .flags = 0,
319 .queueFamilyIndex = graphicsFamily,
320 .queueCount = 1,
321 .pQueuePriorities = &queuePriority
322 };
323
324 const VkDeviceCreateInfo ci =
325 {
326 .sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
327 .pNext = nullptr,
328 .flags = 0,
329 .queueCreateInfoCount = 1,
330 .pQueueCreateInfos = &qci,
331 .enabledLayerCount = 0,
332 .ppEnabledLayerNames = nullptr,
333 .enabledExtensionCount = static_cast<uint32_t>(extensions.size()),
334 .ppEnabledExtensionNames = extensions.data(),
335 .pEnabledFeatures = &deviceFeatures
336 };
337
338 return vkCreateDevice(physicalDevice, &ci, nullptr, device);
339}
340
341VkResult createDeviceWithCompute(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures deviceFeatures, uint32_t graphicsFamily, uint32_t computeFamily, VkDevice* device)
342{

Callers 2

createDeviceWithComputeFunction · 0.85
initVulkanRenderDeviceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected