| 495 | } |
| 496 | |
| 497 | static void createDevice(void) |
| 498 | { |
| 499 | VkDeviceQueueCreateInfo deviceQueueCreateInfo[1] = {0}; |
| 500 | static const float queuePriority[] = {1.0f}; |
| 501 | VkDeviceCreateInfo deviceCreateInfo = {0}; |
| 502 | static const char *const deviceExtensionNames[] = { |
| 503 | VK_KHR_SWAPCHAIN_EXTENSION_NAME, |
| 504 | }; |
| 505 | VkResult result; |
| 506 | |
| 507 | deviceQueueCreateInfo->sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; |
| 508 | deviceQueueCreateInfo->queueFamilyIndex = vulkanContext.graphicsQueueFamilyIndex; |
| 509 | deviceQueueCreateInfo->queueCount = 1; |
| 510 | deviceQueueCreateInfo->pQueuePriorities = &queuePriority[0]; |
| 511 | |
| 512 | deviceCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; |
| 513 | deviceCreateInfo.queueCreateInfoCount = 1; |
| 514 | deviceCreateInfo.pQueueCreateInfos = deviceQueueCreateInfo; |
| 515 | deviceCreateInfo.pEnabledFeatures = NULL; |
| 516 | deviceCreateInfo.enabledExtensionCount = SDL_arraysize(deviceExtensionNames); |
| 517 | deviceCreateInfo.ppEnabledExtensionNames = deviceExtensionNames; |
| 518 | result = vkCreateDevice( |
| 519 | vulkanContext.physicalDevice, &deviceCreateInfo, NULL, &vulkanContext.device); |
| 520 | if(result != VK_SUCCESS) |
| 521 | { |
| 522 | vulkanContext.device = VK_NULL_HANDLE; |
| 523 | SDL_LogError( |
| 524 | SDL_LOG_CATEGORY_APPLICATION, "vkCreateDevice(): %s\n", getVulkanResultString(result)); |
| 525 | quit(2); |
| 526 | } |
| 527 | } |
| 528 | |
| 529 | static void loadDeviceFunctions(void) |
| 530 | { |
no test coverage detected