Include additional vulkan-extensions that SDL requests
Required for proper surface creation. This gets the surface-creation call to pass now.
This commit is contained in:
@@ -31,12 +31,22 @@ void RendererVK::initGraphicsContext(SDL_Window* window) {
|
|||||||
|
|
||||||
instanceInfo.pApplicationInfo = &applicationInfo;
|
instanceInfo.pApplicationInfo = &applicationInfo;
|
||||||
|
|
||||||
static const std::array instanceExtensions = std::to_array({
|
std::vector<const char*> instanceExtensions = {
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
|
VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
|
||||||
#endif
|
#endif
|
||||||
VK_EXT_DEBUG_UTILS_EXTENSION_NAME,
|
VK_EXT_DEBUG_UTILS_EXTENSION_NAME,
|
||||||
});
|
};
|
||||||
|
|
||||||
|
// Get any additional extensions that SDL wants as well
|
||||||
|
{
|
||||||
|
unsigned int extensionCount = 0;
|
||||||
|
SDL_Vulkan_GetInstanceExtensions(window, &extensionCount, nullptr);
|
||||||
|
std::vector<const char*> sdlInstanceExtensions(extensionCount);
|
||||||
|
SDL_Vulkan_GetInstanceExtensions(window, &extensionCount, sdlInstanceExtensions.data());
|
||||||
|
|
||||||
|
instanceExtensions.insert(instanceExtensions.end(), sdlInstanceExtensions.begin(), sdlInstanceExtensions.end());
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
instanceInfo.flags |= vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR;
|
instanceInfo.flags |= vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR;
|
||||||
|
|||||||
Reference in New Issue
Block a user