From 650e5afde271d22b3653832daf339e1bd09a10d6 Mon Sep 17 00:00:00 2001 From: grm Date: Sat, 14 Mar 2026 02:29:15 +0200 Subject: Migrate to imgui 1.92.6 and SDL3 --- src/vksetup.h | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) (limited to 'src/vksetup.h') diff --git a/src/vksetup.h b/src/vksetup.h index 505bdec..a659136 100644 --- a/src/vksetup.h +++ b/src/vksetup.h @@ -38,8 +38,8 @@ #define SDL_MAIN_HANDLED #define VK_USE_PLATFORM_XCB_KHR -#include -#include +#include +#include #include #include // for string_VkResult @@ -348,8 +348,7 @@ _has_stencil_component(VkFormat format) static VkInstance _vks_create_instance(bool validation_layers_toggle, const char* const validation_layers[], - uint32_t validation_layer_count, - SDL_Window* window) + uint32_t validation_layer_count) { if (validation_layers_toggle && !_vks_check_validation_layer_support(validation_layers, @@ -389,37 +388,29 @@ _vks_create_instance(bool validation_layers_toggle, }; uint32_t sdlExtensionCount = 0; - - if (SDL_Vulkan_GetInstanceExtensions(window, &sdlExtensionCount, NULL) == - SDL_FALSE) { + const char* const* sdlExtensionsBase = SDL_Vulkan_GetInstanceExtensions(&sdlExtensionCount); + if (sdlExtensionsBase == NULL) { vk_log(VK_ERROR, "SDL_Vulkan_GetInstanceExtensions failed: %s\n", SDL_GetError()); abort(); } - // make space for debug extenetion + // Copy pointers into a local array so we can append the debug extension + uint32_t totalExtensionCount = sdlExtensionCount; if (validation_layers_toggle) { - sdlExtensionCount++; + totalExtensionCount++; } - - const char* sdlExtensions[sdlExtensionCount]; - - if (SDL_Vulkan_GetInstanceExtensions( - window, &sdlExtensionCount, sdlExtensions) == SDL_FALSE) { - vk_log(VK_ERROR, - "SDL_Vulkan_GetInstanceExtensions failed: %s\n", - SDL_GetError()); - abort(); + const char* sdlExtensions[totalExtensionCount]; + for (uint32_t i = 0; i < sdlExtensionCount; i++) { + sdlExtensions[i] = sdlExtensionsBase[i]; } - - // add debug extenetion if (validation_layers_toggle) { sdlExtensions[sdlExtensionCount] = VK_EXT_DEBUG_UTILS_EXTENSION_NAME; } vk_log(VK_INFO, "The sdl extensions:\n"); - for (uint32_t i = 0; i < sdlExtensionCount; i++) { + for (uint32_t i = 0; i < totalExtensionCount; i++) { vk_log(VK_INFO, "\t%s\n", sdlExtensions[i]); } @@ -1021,12 +1012,11 @@ vks_create_vulkan_context(vks_context* vk) /* Create vulkan instance */ vk->instance = _vks_create_instance(enable_validation_layers, validation_layers, - validation_layer_count, - vk->window); + validation_layer_count); /* Create render surface */ - if (SDL_Vulkan_CreateSurface(vk->window, vk->instance, &vk->surface) == - SDL_FALSE) { + if (SDL_Vulkan_CreateSurface(vk->window, vk->instance, NULL, &vk->surface) == + false) { vk_log(VK_ERROR, "Failed to create surface\n"); } else { vk_log(VK_INFO, "Vulkan surface created\n"); -- cgit v1.2.3