From d0d8b28df125f00eca5eb4f09c1d6fb8ab0eba8d Mon Sep 17 00:00:00 2001
From: ilyas-taouaou <[EMAIL REDACTED]>
Date: Thu, 2 Nov 2023 17:20:26 +0100
Subject: [PATCH] Change SDL_Vulkan_GetInstanceExtensions
---
include/SDL3/SDL_vulkan.h | 3 +--
src/dynapi/SDL_dynapi_procs.h | 2 +-
src/video/SDL_sysvideo.h | 2 +-
src/video/SDL_video.c | 9 ++-------
src/video/SDL_vulkan_internal.h | 7 -------
src/video/SDL_vulkan_utils.c | 21 ---------------------
src/video/android/SDL_androidvulkan.c | 14 +++++---------
src/video/cocoa/SDL_cocoavulkan.m | 14 +++++---------
src/video/kmsdrm/SDL_kmsdrmvulkan.c | 14 ++++----------
src/video/kmsdrm/SDL_kmsdrmvulkan.h | 5 ++---
src/video/uikit/SDL_uikitvulkan.m | 15 +++++----------
src/video/vivante/SDL_vivantevulkan.c | 14 +++++---------
src/video/wayland/SDL_waylandvulkan.c | 13 +++----------
src/video/wayland/SDL_waylandvulkan.h | 5 ++---
src/video/windows/SDL_windowsvulkan.c | 14 ++++----------
src/video/x11/SDL_x11vulkan.c | 21 ++++++++++-----------
src/video/x11/SDL_x11vulkan.h | 5 ++---
test/testvulkan.c | 25 ++-----------------------
18 files changed, 54 insertions(+), 149 deletions(-)
diff --git a/include/SDL3/SDL_vulkan.h b/include/SDL3/SDL_vulkan.h
index 13047c9d0c82..3b2cd31894e4 100644
--- a/include/SDL3/SDL_vulkan.h
+++ b/include/SDL3/SDL_vulkan.h
@@ -160,8 +160,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void);
*
* \sa SDL_Vulkan_CreateSurface
*/
-extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(unsigned int *pCount,
- const char **pNames);
+extern DECLSPEC char const* const* SDLCALL SDL_Vulkan_GetInstanceExtensions(Uint32 *pCount);
/**
* Create a Vulkan rendering surface for a window.
diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h
index 868a35ec9d14..25ee29776f16 100644
--- a/src/dynapi/SDL_dynapi_procs.h
+++ b/src/dynapi/SDL_dynapi_procs.h
@@ -719,7 +719,7 @@ SDL_DYNAPI_PROC(int,SDL_UpdateWindowSurface,(SDL_Window *a),(a),return)
SDL_DYNAPI_PROC(int,SDL_UpdateWindowSurfaceRects,(SDL_Window *a, const SDL_Rect *b, int c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_UpdateYUVTexture,(SDL_Texture *a, const SDL_Rect *b, const Uint8 *c, int d, const Uint8 *e, int f, const Uint8 *g, int h),(a,b,c,d,e,f,g,h),return)
SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_CreateSurface,(SDL_Window *a, VkInstance b, VkSurfaceKHR *c),(a,b,c),return)
-SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_GetInstanceExtensions,(unsigned int *a, const char **b),(a,b),return)
+SDL_DYNAPI_PROC(char const* const*,SDL_Vulkan_GetInstanceExtensions,(Uint32 *a),(a),return)
SDL_DYNAPI_PROC(SDL_FunctionPointer,SDL_Vulkan_GetVkGetInstanceProcAddr,(void),(),return)
SDL_DYNAPI_PROC(int,SDL_Vulkan_LoadLibrary,(const char *a),(a),return)
SDL_DYNAPI_PROC(void,SDL_Vulkan_UnloadLibrary,(void),(),)
diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h
index cb5e4c188e82..40ca81942280 100644
--- a/src/video/SDL_sysvideo.h
+++ b/src/video/SDL_sysvideo.h
@@ -290,7 +290,7 @@ struct SDL_VideoDevice
*/
int (*Vulkan_LoadLibrary)(SDL_VideoDevice *_this, const char *path);
void (*Vulkan_UnloadLibrary)(SDL_VideoDevice *_this);
- SDL_bool (*Vulkan_GetInstanceExtensions)(SDL_VideoDevice *_this, unsigned *count, const char **names);
+ char const* const* (*Vulkan_GetInstanceExtensions)(SDL_VideoDevice *_this, Uint32 *count);
SDL_bool (*Vulkan_CreateSurface)(SDL_VideoDevice *_this, SDL_Window *window, VkInstance instance, VkSurfaceKHR *surface);
/* * * */
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index eec3e0dd8797..d6f667dc3ecf 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -5140,14 +5140,9 @@ void SDL_Vulkan_UnloadLibrary(void)
}
}
-SDL_bool SDL_Vulkan_GetInstanceExtensions(unsigned *count, const char **names)
+char const* const* SDL_Vulkan_GetInstanceExtensions(Uint32 *count)
{
- if (count == NULL) {
- SDL_InvalidParamError("count");
- return SDL_FALSE;
- }
-
- return _this->Vulkan_GetInstanceExtensions(_this, count, names);
+ return _this->Vulkan_GetInstanceExtensions(_this, count);
}
SDL_bool SDL_Vulkan_CreateSurface(SDL_Window *window,
diff --git a/src/video/SDL_vulkan_internal.h b/src/video/SDL_vulkan_internal.h
index 5242aecef01d..74452134bd52 100644
--- a/src/video/SDL_vulkan_internal.h
+++ b/src/video/SDL_vulkan_internal.h
@@ -63,13 +63,6 @@ extern VkExtensionProperties *SDL_Vulkan_CreateInstanceExtensionsList(
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties,
Uint32 *extensionCount); /* free returned list with SDL_free */
-/* Implements functionality of SDL_Vulkan_GetInstanceExtensions for a list of
- * names passed in nameCount and names. */
-extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
- const char **userNames,
- unsigned nameCount,
- const char *const *names);
-
/* Create a surface directly from a display connected to a physical device
* using the DisplayKHR extension.
* This needs to be passed an instance that was created with the VK_KHR_DISPLAY_EXTENSION_NAME
diff --git a/src/video/SDL_vulkan_utils.c b/src/video/SDL_vulkan_utils.c
index 2993fc7991a8..5ce81a7b0804 100644
--- a/src/video/SDL_vulkan_utils.c
+++ b/src/video/SDL_vulkan_utils.c
@@ -167,27 +167,6 @@ VkExtensionProperties *SDL_Vulkan_CreateInstanceExtensionsList(
return retval;
}
-SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
- const char **userNames,
- unsigned nameCount,
- const char *const *names)
-{
- if (userNames) {
- unsigned i;
-
- if (*userCount < nameCount) {
- SDL_SetError("Output array for SDL_Vulkan_GetInstanceExtensions needs to be at least %d big", nameCount);
- return SDL_FALSE;
- }
-
- for (i = 0; i < nameCount; i++) {
- userNames[i] = names[i];
- }
- }
- *userCount = nameCount;
- return SDL_TRUE;
-}
-
/* Alpha modes, in order of preference */
static const VkDisplayPlaneAlphaFlagBitsKHR alphaModes[4] = {
VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,
diff --git a/src/video/android/SDL_androidvulkan.c b/src/video/android/SDL_androidvulkan.c
index 8a0af19629f1..d47d422a9714 100644
--- a/src/video/android/SDL_androidvulkan.c
+++ b/src/video/android/SDL_androidvulkan.c
@@ -111,20 +111,16 @@ void Android_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool Android_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* Android_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForAndroid[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
+ if(count) {
+ *count = SDL_arraysize(extensionsForAndroid);
}
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForAndroid),
- extensionsForAndroid);
+ return extensionsForAndroid;
}
SDL_bool Android_Vulkan_CreateSurface(SDL_VideoDevice *_this,
diff --git a/src/video/cocoa/SDL_cocoavulkan.m b/src/video/cocoa/SDL_cocoavulkan.m
index 027ba2ac2448..55d1f352fb0d 100644
--- a/src/video/cocoa/SDL_cocoavulkan.m
+++ b/src/video/cocoa/SDL_cocoavulkan.m
@@ -163,20 +163,16 @@ void Cocoa_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool Cocoa_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* Cocoa_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForCocoa[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_EXT_METAL_SURFACE_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
+ if(count) {
+ *count = SDL_arraysize(extensionsForCocoa);
}
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForCocoa),
- extensionsForCocoa);
+ return extensionsForCocoa;
}
static SDL_bool Cocoa_Vulkan_CreateSurfaceViaMetalView(SDL_VideoDevice *_this,
diff --git a/src/video/kmsdrm/SDL_kmsdrmvulkan.c b/src/video/kmsdrm/SDL_kmsdrmvulkan.c
index 619053c9fc64..fba00b6585cd 100644
--- a/src/video/kmsdrm/SDL_kmsdrmvulkan.c
+++ b/src/video/kmsdrm/SDL_kmsdrmvulkan.c
@@ -142,20 +142,14 @@ void KMSDRM_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
/* members of the VkInstanceCreateInfo struct passed to */
/* vkCreateInstance(). */
/*********************************************************************/
-SDL_bool KMSDRM_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* KMSDRM_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForKMSDRM[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_DISPLAY_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
- }
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForKMSDRM),
- extensionsForKMSDRM);
+ if(count) { *count = SDL_arraysize(extensionsForKMSDRM); }
+ return extensionsForKMSDRM;
}
/***********************************************************************/
diff --git a/src/video/kmsdrm/SDL_kmsdrmvulkan.h b/src/video/kmsdrm/SDL_kmsdrmvulkan.h
index 68efc02d030c..7db828d93a52 100644
--- a/src/video/kmsdrm/SDL_kmsdrmvulkan.h
+++ b/src/video/kmsdrm/SDL_kmsdrmvulkan.h
@@ -36,9 +36,8 @@
int KMSDRM_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path);
void KMSDRM_Vulkan_UnloadLibrary(SDL_VideoDevice *_this);
-SDL_bool KMSDRM_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names);
+char const* const* KMSDRM_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count);
SDL_bool KMSDRM_Vulkan_CreateSurface(SDL_VideoDevice *_this,
SDL_Window *window,
VkInstance instance,
diff --git a/src/video/uikit/SDL_uikitvulkan.m b/src/video/uikit/SDL_uikitvulkan.m
index 5bdc74380725..833485062ba5 100644
--- a/src/video/uikit/SDL_uikitvulkan.m
+++ b/src/video/uikit/SDL_uikitvulkan.m
@@ -169,21 +169,16 @@ void UIKit_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool UIKit_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* UIKit_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForUIKit[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_EXT_METAL_SURFACE_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
+ if(count) {
+ *count = SDL_arraysize(extensionsForUIKit);
}
-
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForUIKit),
- extensionsForUIKit);
+ return extensionsForUIKit;
}
SDL_bool UIKit_Vulkan_CreateSurface(SDL_VideoDevice *_this,
diff --git a/src/video/vivante/SDL_vivantevulkan.c b/src/video/vivante/SDL_vivantevulkan.c
index 24d910700261..d5a30e79e96e 100644
--- a/src/video/vivante/SDL_vivantevulkan.c
+++ b/src/video/vivante/SDL_vivantevulkan.c
@@ -118,20 +118,16 @@ void VIVANTE_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool VIVANTE_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* VIVANTE_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForVivante[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_DISPLAY_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
+ if(count) {
+ *count = SDL_arraysize(extensionsForVivante);
}
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForVivante),
- extensionsForVivante);
+ return extensionsForVivante;
}
SDL_bool VIVANTE_Vulkan_CreateSurface(SDL_VideoDevice *_this,
diff --git a/src/video/wayland/SDL_waylandvulkan.c b/src/video/wayland/SDL_waylandvulkan.c
index 1f667512a8cf..3e372bd2a66a 100644
--- a/src/video/wayland/SDL_waylandvulkan.c
+++ b/src/video/wayland/SDL_waylandvulkan.c
@@ -118,20 +118,13 @@ void Wayland_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool Wayland_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* Wayland_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForWayland[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
- }
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForWayland),
- extensionsForWayland);
+ return extensionsForWayland;
}
SDL_bool Wayland_Vulkan_CreateSurface(SDL_VideoDevice *_this,
diff --git a/src/video/wayland/SDL_waylandvulkan.h b/src/video/wayland/SDL_waylandvulkan.h
index 18aa3ed57360..ebcd4c1c5656 100644
--- a/src/video/wayland/SDL_waylandvulkan.h
+++ b/src/video/wayland/SDL_waylandvulkan.h
@@ -36,9 +36,8 @@
int Wayland_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path);
void Wayland_Vulkan_UnloadLibrary(SDL_VideoDevice *_this);
-SDL_bool Wayland_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names);
+char const* const* Wayland_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count);
SDL_bool Wayland_Vulkan_CreateSurface(SDL_VideoDevice *_this,
SDL_Window *window,
VkInstance instance,
diff --git a/src/video/windows/SDL_windowsvulkan.c b/src/video/windows/SDL_windowsvulkan.c
index f0b288b42145..79b64ffd8f77 100644
--- a/src/video/windows/SDL_windowsvulkan.c
+++ b/src/video/windows/SDL_windowsvulkan.c
@@ -112,20 +112,14 @@ void WIN_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool WIN_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* WIN_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
static const char *const extensionsForWin32[] = {
VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_WIN32_SURFACE_EXTENSION_NAME
};
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
- }
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForWin32),
- extensionsForWin32);
+ if(count) { *count = SDL_arraysize(extensionsForWin32); }
+ return extensionsForWin32;
}
SDL_bool WIN_Vulkan_CreateSurface(SDL_VideoDevice *_this,
diff --git a/src/video/x11/SDL_x11vulkan.c b/src/video/x11/SDL_x11vulkan.c
index b81b980417ba..7eea5a34bba8 100644
--- a/src/video/x11/SDL_x11vulkan.c
+++ b/src/video/x11/SDL_x11vulkan.c
@@ -142,29 +142,28 @@ void X11_Vulkan_UnloadLibrary(SDL_VideoDevice *_this)
}
}
-SDL_bool X11_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names)
+char const* const* X11_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count)
{
SDL_VideoData *videoData = _this->driverdata;
- if (!_this->vulkan_config.loader_handle) {
- SDL_SetError("Vulkan is not loaded");
- return SDL_FALSE;
- }
if (videoData->vulkan_xlib_xcb_library) {
static const char *const extensionsForXCB[] = {
VK_KHR_SURFACE_EXTENSION_NAME,
VK_KHR_XCB_SURFACE_EXTENSION_NAME,
};
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForXCB), extensionsForXCB);
+ if(count) {
+ *count = SDL_arraysize(extensionsForXCB);
+ }
+ return extensionsForXCB;
} else {
static const char *const extensionsForXlib[] = {
VK_KHR_SURFACE_EXTENSION_NAME,
VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
};
- return SDL_Vulkan_GetInstanceExtensions_Helper(
- count, names, SDL_arraysize(extensionsForXlib), extensionsForXlib);
+ if(count) {
+ *count = SDL_arraysize(extensionsForXlib);
+ }
+ return extensionsForXlib;
}
}
diff --git a/src/video/x11/SDL_x11vulkan.h b/src/video/x11/SDL_x11vulkan.h
index 30b047e03594..acaf5d65cbc6 100644
--- a/src/video/x11/SDL_x11vulkan.h
+++ b/src/video/x11/SDL_x11vulkan.h
@@ -32,9 +32,8 @@ typedef xcb_connection_t *(*PFN_XGetXCBConnection)(Display *dpy);
int X11_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path);
void X11_Vulkan_UnloadLibrary(SDL_VideoDevice *_this);
-SDL_bool X11_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
- unsigned *count,
- const char **names);
+char const* const* X11_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this,
+ Uint32 *count);
SDL_bool X11_Vulkan_CreateSurface(SDL_VideoDevice *_this,
SDL_Window *window,
VkInstance instance,
diff --git a/test/testvulkan.c b/test/testvulkan.c
index c20e4bc9e5ed..e13e3ace8421 100644
--- a/test/testvulkan.c
+++ b/test/testvulkan.c
@@ -222,36 +222,15 @@ static void createInstance(void)
{
VkApplicationInfo appInfo = { 0 };
VkInstanceCreateInfo instanceCreateInfo = { 0 };
- const char **extensions = NULL;
- unsigned extensionCount = 0;
VkResult result;
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
appInfo.apiVersion = VK_API_VERSION_1_0;
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instanceCreateInfo.pApplicationInfo = &appInfo;
- if (!SDL_Vulkan_GetInstanceExtensions(&extensionCount, NULL)) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
- "SDL_Vulkan_GetInstanceExtensions(): %s\n",
- SDL_GetError());
- quit(2);
- }
- extensions = (const char **)SDL_malloc(sizeof(const char *) * extensionCount);
- if (extensions == NULL) {
- SDL_OutOfMemory();
- quit(2);
- }
- if (!SDL_Vulkan_GetInstanceExtensions(&extensionCount, extensions)) {
- SDL_free((void *)extensions);
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
- "SDL_Vulkan_GetInstanceExtensions(): %s\n",
- SDL_GetError());
- quit(2);
- }
- instanceCreateInfo.enabledExtensionCount = extensionCount;
- instanceCreateInfo.ppEnabledExtensionNames = extensions;
+
+ instanceCreateInfo.ppEnabledExtensionNames = SDL_Vulkan_GetInstanceExtensions(&instanceCreateInfo.enabledExtensionCount);
result = vkCreateInstance(&instanceCreateInfo, NULL, &vulkanContext->instance);
- SDL_free((void *)extensions);
if (result != VK_SUCCESS) {
vulkanContext->instance = VK_NULL_HANDLE;
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,