Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
revert the recent typecast assignment changes (see bug #4079)
also change the void* typedefs for the two vulkan function
pointers added in vulkan_internal.h  into generic function
pointer typedefs.
  • Loading branch information
sezero committed Feb 12, 2018
1 parent ba9ede1 commit 40b27fd
Show file tree
Hide file tree
Showing 34 changed files with 174 additions and 146 deletions.
10 changes: 5 additions & 5 deletions src/audio/SDL_audio.c
Expand Up @@ -151,11 +151,11 @@ LoadLibSampleRate(void)
return SDL_FALSE;
}

*(void **)&SRC_src_new = SDL_LoadFunction(SRC_lib, "src_new");
*(void **)&SRC_src_process = SDL_LoadFunction(SRC_lib, "src_process");
*(void **)&SRC_src_reset = SDL_LoadFunction(SRC_lib, "src_reset");
*(void **)&SRC_src_delete = SDL_LoadFunction(SRC_lib, "src_delete");
*(void **)&SRC_src_strerror = SDL_LoadFunction(SRC_lib, "src_strerror");
SRC_src_new = (SRC_STATE* (*)(int converter_type, int channels, int *error))SDL_LoadFunction(SRC_lib, "src_new");
SRC_src_process = (int (*)(SRC_STATE *state, SRC_DATA *data))SDL_LoadFunction(SRC_lib, "src_process");
SRC_src_reset = (int(*)(SRC_STATE *state))SDL_LoadFunction(SRC_lib, "src_reset");
SRC_src_delete = (SRC_STATE* (*)(SRC_STATE *state))SDL_LoadFunction(SRC_lib, "src_delete");
SRC_src_strerror = (const char* (*)(int error))SDL_LoadFunction(SRC_lib, "src_strerror");

if (!SRC_src_new || !SRC_src_process || !SRC_src_reset || !SRC_src_delete || !SRC_src_strerror) {
SDL_UnloadObject(SRC_lib);
Expand Down
2 changes: 1 addition & 1 deletion src/audio/directsound/SDL_directsound.c
Expand Up @@ -74,7 +74,7 @@ DSOUND_Load(void)
} else {
/* Now make sure we have DirectX 8 or better... */
#define DSOUNDLOAD(f) { \
*(void**)&p##f = SDL_LoadFunction(DSoundDLL, #f); \
p##f = (fn##f) SDL_LoadFunction(DSoundDLL, #f); \
if (!p##f) loaded = 0; \
}
loaded = 1; /* will reset if necessary. */
Expand Down
4 changes: 2 additions & 2 deletions src/audio/wasapi/SDL_wasapi_win32.c
Expand Up @@ -256,8 +256,8 @@ WASAPI_PlatformInit(void)

libavrt = LoadLibraryW(L"avrt.dll"); /* this library is available in Vista and later. No WinXP, so have to LoadLibrary to use it for now! */
if (libavrt) {
*(void **)&pAvSetMmThreadCharacteristicsW = GetProcAddress(libavrt, "AvSetMmThreadCharacteristicsW");
*(void **)&pAvRevertMmThreadCharacteristics = GetProcAddress(libavrt, "AvRevertMmThreadCharacteristics");
pAvSetMmThreadCharacteristicsW = (pfnAvSetMmThreadCharacteristicsW) GetProcAddress(libavrt, "AvSetMmThreadCharacteristicsW");
pAvRevertMmThreadCharacteristics = (pfnAvRevertMmThreadCharacteristics) GetProcAddress(libavrt, "AvRevertMmThreadCharacteristics");
}

return 0;
Expand Down
2 changes: 1 addition & 1 deletion src/core/linux/SDL_dbus.c
Expand Up @@ -33,7 +33,7 @@ static int
LoadDBUSSyms(void)
{
#define SDL_DBUS_SYM2(x, y) \
if (!(*(void**)&dbus.x = SDL_LoadFunction(dbus_handle, #y))) return -1
if (!(dbus.x = SDL_LoadFunction(dbus_handle, #y))) return -1

#define SDL_DBUS_SYM(x) \
SDL_DBUS_SYM2(x, dbus_##x)
Expand Down
10 changes: 5 additions & 5 deletions src/core/windows/SDL_xinput.c
Expand Up @@ -104,13 +104,13 @@ WIN_LoadXInputDLL(void)
s_XInputDLLRefCount = 1;

/* 100 is the ordinal for _XInputGetStateEx, which returns the same struct as XinputGetState, but with extra data in wButtons for the guide button, we think... */
*(void**)&SDL_XInputGetState = GetProcAddress((HMODULE)s_pXInputDLL, (LPCSTR)100);
SDL_XInputGetState = (XInputGetState_t)GetProcAddress((HMODULE)s_pXInputDLL, (LPCSTR)100);
if (!SDL_XInputGetState) {
*(void**)&SDL_XInputGetState = GetProcAddress((HMODULE)s_pXInputDLL, "XInputGetState");
SDL_XInputGetState = (XInputGetState_t)GetProcAddress((HMODULE)s_pXInputDLL, "XInputGetState");
}
*(void**)&SDL_XInputSetState = GetProcAddress((HMODULE)s_pXInputDLL, "XInputSetState");
*(void**)&SDL_XInputGetCapabilities = GetProcAddress((HMODULE)s_pXInputDLL, "XInputGetCapabilities");
*(void**)&SDL_XInputGetBatteryInformation = GetProcAddress( (HMODULE)s_pXInputDLL, "XInputGetBatteryInformation" );
SDL_XInputSetState = (XInputSetState_t)GetProcAddress((HMODULE)s_pXInputDLL, "XInputSetState");
SDL_XInputGetCapabilities = (XInputGetCapabilities_t)GetProcAddress((HMODULE)s_pXInputDLL, "XInputGetCapabilities");
SDL_XInputGetBatteryInformation = (XInputGetBatteryInformation_t)GetProcAddress( (HMODULE)s_pXInputDLL, "XInputGetBatteryInformation" );
if (!SDL_XInputGetState || !SDL_XInputSetState || !SDL_XInputGetCapabilities) {
WIN_UnloadXInputDLL();
return -1;
Expand Down
2 changes: 1 addition & 1 deletion src/dynapi/SDL_dynapi.c
Expand Up @@ -263,7 +263,7 @@ SDL_InitDynamicAPILocked(void)
SDL_DYNAPI_ENTRYFN entry = SDL_DYNAPI_entry; /* funcs from here by default. */

if (libname) {
*(void **)&entry = get_sdlapi_entry(libname, "SDL_DYNAPI_entry");
entry = (SDL_DYNAPI_ENTRYFN) get_sdlapi_entry(libname, "SDL_DYNAPI_entry");
if (!entry) {
/* !!! FIXME: fail to startup here instead? */
/* !!! FIXME: definitely warn user. */
Expand Down
2 changes: 1 addition & 1 deletion src/filesystem/windows/SDL_sysfilesystem.c
Expand Up @@ -50,7 +50,7 @@ SDL_GetBasePath(void)
return NULL;
}

*(void**)&pGetModuleFileNameExW = GetProcAddress(psapi, "GetModuleFileNameExW");
pGetModuleFileNameExW = (GetModuleFileNameExW_t)GetProcAddress(psapi, "GetModuleFileNameExW");
if (!pGetModuleFileNameExW) {
WIN_SetError("Couldn't find GetModuleFileNameExW");
FreeLibrary(psapi);
Expand Down
4 changes: 2 additions & 2 deletions src/render/direct3d11/SDL_render_d3d11.c
Expand Up @@ -568,7 +568,7 @@ D3D11_CreateDeviceResources(SDL_Renderer * renderer)
goto done;
}

*(void**)&CreateDXGIFactoryFunc = SDL_LoadFunction(data->hDXGIMod, "CreateDXGIFactory");
CreateDXGIFactoryFunc = (PFN_CREATE_DXGI_FACTORY)SDL_LoadFunction(data->hDXGIMod, "CreateDXGIFactory");
if (!CreateDXGIFactoryFunc) {
result = E_FAIL;
goto done;
Expand All @@ -580,7 +580,7 @@ D3D11_CreateDeviceResources(SDL_Renderer * renderer)
goto done;
}

*(void**)D3D11CreateDeviceFunc = SDL_LoadFunction(data->hD3D11Mod, "D3D11CreateDevice");
D3D11CreateDeviceFunc = (PFN_D3D11_CREATE_DEVICE)SDL_LoadFunction(data->hD3D11Mod, "D3D11CreateDevice");
if (!D3D11CreateDeviceFunc) {
result = E_FAIL;
goto done;
Expand Down
27 changes: 14 additions & 13 deletions src/render/opengl/SDL_render_gl.c
Expand Up @@ -272,7 +272,7 @@ GL_LoadFunctions(GL_RenderData * data)
#else
#define SDL_PROC(ret,func,params) \
do { \
*(void **)&data->func = SDL_GL_GetProcAddress(#func); \
data->func = SDL_GL_GetProcAddress(#func); \
if ( ! data->func ) { \
return SDL_SetError("Couldn't load GL function %s: %s", #func, SDL_GetError()); \
} \
Expand Down Expand Up @@ -490,9 +490,7 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
data->debug_enabled = SDL_TRUE;
}
if (data->debug_enabled && SDL_GL_ExtensionSupported("GL_ARB_debug_output")) {
PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc;

*(void **)&glDebugMessageCallbackARBFunc = SDL_GL_GetProcAddress("glDebugMessageCallbackARB");
PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc = (PFNGLDEBUGMESSAGECALLBACKARBPROC) SDL_GL_GetProcAddress("glDebugMessageCallbackARB");

data->GL_ARB_debug_output_supported = SDL_TRUE;
data->glGetPointerv(GL_DEBUG_CALLBACK_FUNCTION_ARB, (GLvoid **)(char *)&data->next_error_callback);
Expand Down Expand Up @@ -521,7 +519,7 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)

/* Check for multitexture support */
if (SDL_GL_ExtensionSupported("GL_ARB_multitexture")) {
*(void **)&data->glActiveTextureARB = SDL_GL_GetProcAddress("glActiveTextureARB");
data->glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC) SDL_GL_GetProcAddress("glActiveTextureARB");
if (data->glActiveTextureARB) {
data->GL_ARB_multitexture_supported = SDL_TRUE;
data->glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &data->num_texture_units);
Expand Down Expand Up @@ -549,11 +547,16 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)

if (SDL_GL_ExtensionSupported("GL_EXT_framebuffer_object")) {
data->GL_EXT_framebuffer_object_supported = SDL_TRUE;
*(void**)&data->glGenFramebuffersEXT = SDL_GL_GetProcAddress("glGenFramebuffersEXT");
*(void**)&data->glDeleteFramebuffersEXT = SDL_GL_GetProcAddress("glDeleteFramebuffersEXT");
*(void**)&data->glFramebufferTexture2DEXT = SDL_GL_GetProcAddress("glFramebufferTexture2DEXT");
*(void**)&data->glBindFramebufferEXT = SDL_GL_GetProcAddress("glBindFramebufferEXT");
*(void**)&data->glCheckFramebufferStatusEXT = SDL_GL_GetProcAddress("glCheckFramebufferStatusEXT");
data->glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)
SDL_GL_GetProcAddress("glGenFramebuffersEXT");
data->glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)
SDL_GL_GetProcAddress("glDeleteFramebuffersEXT");
data->glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)
SDL_GL_GetProcAddress("glFramebufferTexture2DEXT");
data->glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)
SDL_GL_GetProcAddress("glBindFramebufferEXT");
data->glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)
SDL_GL_GetProcAddress("glCheckFramebufferStatusEXT");
renderer->info.flags |= SDL_RENDERER_TARGETTEXTURE;
}
data->framebuffers = NULL;
Expand Down Expand Up @@ -1610,9 +1613,7 @@ GL_DestroyRenderer(SDL_Renderer * renderer)

GL_ClearErrors(renderer);
if (data->GL_ARB_debug_output_supported) {
PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc;

*(void **)&glDebugMessageCallbackARBFunc = SDL_GL_GetProcAddress("glDebugMessageCallbackARB");
PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc = (PFNGLDEBUGMESSAGECALLBACKARBPROC) SDL_GL_GetProcAddress("glDebugMessageCallbackARB");

/* Uh oh, we don't have a safe way of removing ourselves from the callback chain, if it changed after we set our callback. */
/* For now, just always replace the callback with the original one */
Expand Down
28 changes: 14 additions & 14 deletions src/render/opengl/SDL_shaders_gl.c
Expand Up @@ -453,20 +453,20 @@ GL_CreateShaderContext(void)
SDL_GL_ExtensionSupported("GL_ARB_shading_language_100") &&
SDL_GL_ExtensionSupported("GL_ARB_vertex_shader") &&
SDL_GL_ExtensionSupported("GL_ARB_fragment_shader")) {
*(void**)&ctx->glGetError = SDL_GL_GetProcAddress("glGetError");
*(void **)&ctx->glAttachObjectARB = SDL_GL_GetProcAddress("glAttachObjectARB");
*(void **)&ctx->glCompileShaderARB = SDL_GL_GetProcAddress("glCompileShaderARB");
*(void **)&ctx->glCreateProgramObjectARB = SDL_GL_GetProcAddress("glCreateProgramObjectARB");
*(void **)&ctx->glCreateShaderObjectARB = SDL_GL_GetProcAddress("glCreateShaderObjectARB");
*(void **)&ctx->glDeleteObjectARB = SDL_GL_GetProcAddress("glDeleteObjectARB");
*(void **)&ctx->glGetInfoLogARB = SDL_GL_GetProcAddress("glGetInfoLogARB");
*(void **)&ctx->glGetObjectParameterivARB = SDL_GL_GetProcAddress("glGetObjectParameterivARB");
*(void **)&ctx->glGetUniformLocationARB = SDL_GL_GetProcAddress("glGetUniformLocationARB");
*(void **)&ctx->glLinkProgramARB = SDL_GL_GetProcAddress("glLinkProgramARB");
*(void **)&ctx->glShaderSourceARB = SDL_GL_GetProcAddress("glShaderSourceARB");
*(void **)&ctx->glUniform1iARB = SDL_GL_GetProcAddress("glUniform1iARB");
*(void **)&ctx->glUniform1fARB = SDL_GL_GetProcAddress("glUniform1fARB");
*(void **)&ctx->glUseProgramObjectARB = SDL_GL_GetProcAddress("glUseProgramObjectARB");
ctx->glGetError = (GLenum (*)(void)) SDL_GL_GetProcAddress("glGetError");
ctx->glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC) SDL_GL_GetProcAddress("glAttachObjectARB");
ctx->glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC) SDL_GL_GetProcAddress("glCompileShaderARB");
ctx->glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC) SDL_GL_GetProcAddress("glCreateProgramObjectARB");
ctx->glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC) SDL_GL_GetProcAddress("glCreateShaderObjectARB");
ctx->glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC) SDL_GL_GetProcAddress("glDeleteObjectARB");
ctx->glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC) SDL_GL_GetProcAddress("glGetInfoLogARB");
ctx->glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC) SDL_GL_GetProcAddress("glGetObjectParameterivARB");
ctx->glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC) SDL_GL_GetProcAddress("glGetUniformLocationARB");
ctx->glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC) SDL_GL_GetProcAddress("glLinkProgramARB");
ctx->glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC) SDL_GL_GetProcAddress("glShaderSourceARB");
ctx->glUniform1iARB = (PFNGLUNIFORM1IARBPROC) SDL_GL_GetProcAddress("glUniform1iARB");
ctx->glUniform1fARB = (PFNGLUNIFORM1FARBPROC) SDL_GL_GetProcAddress("glUniform1fARB");
ctx->glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC) SDL_GL_GetProcAddress("glUseProgramObjectARB");
if (ctx->glGetError &&
ctx->glAttachObjectARB &&
ctx->glCompileShaderARB &&
Expand Down
4 changes: 2 additions & 2 deletions src/render/opengles/SDL_render_gles.c
Expand Up @@ -198,14 +198,14 @@ static int GLES_LoadFunctions(GLES_RenderData * data)
#else
#define SDL_PROC(ret,func,params) \
do { \
*(void**)&data->func = SDL_GL_GetProcAddress(#func); \
data->func = SDL_GL_GetProcAddress(#func); \
if ( ! data->func ) { \
return SDL_SetError("Couldn't load GLES function %s: %s", #func, SDL_GetError()); \
} \
} while ( 0 );
#define SDL_PROC_OES(ret,func,params) \
do { \
*(void**)&data->func = SDL_GL_GetProcAddress(#func); \
data->func = SDL_GL_GetProcAddress(#func); \
} while ( 0 );
#endif /* __SDL_NOGETPROCADDR__ */

Expand Down
4 changes: 2 additions & 2 deletions src/render/opengles2/SDL_render_gles2.c
Expand Up @@ -290,11 +290,11 @@ static int GLES2_LoadFunctions(GLES2_DriverContext * data)
#endif

#if defined __SDL_NOGETPROCADDR__
#define SDL_PROC(ret,func,params) *(void**)&data->func=func;
#define SDL_PROC(ret,func,params) data->func=func;
#else
#define SDL_PROC(ret,func,params) \
do { \
*(void **)&data->func = SDL_GL_GetProcAddress(#func); \
data->func = SDL_GL_GetProcAddress(#func); \
if ( ! data->func ) { \
return SDL_SetError("Couldn't load GLES2 function %s: %s", #func, SDL_GetError()); \
} \
Expand Down
6 changes: 5 additions & 1 deletion src/thread/pthread/SDL_systhread.c
Expand Up @@ -91,7 +91,11 @@ SDL_SYS_CreateThread(SDL_Thread * thread, void *args)
#if defined(__MACOSX__) || defined(__IPHONEOS__) || defined(__LINUX__)
if (!checked_setname) {
void *fn = dlsym(RTLD_DEFAULT, "pthread_setname_np");
*(void **)&ppthread_setname_np = fn;
#if defined(__MACOSX__) || defined(__IPHONEOS__)
ppthread_setname_np = (int(*)(const char*)) fn;
#elif defined(__LINUX__)
ppthread_setname_np = (int(*)(pthread_t, const char*)) fn;
#endif
checked_setname = SDL_TRUE;
}
#endif
Expand Down
2 changes: 1 addition & 1 deletion src/thread/windows/SDL_systhread.c
Expand Up @@ -178,7 +178,7 @@ SDL_SYS_SetupThread(const char *name)
if (!kernel32) {
kernel32 = LoadLibraryW(L"kernel32.dll");
if (kernel32) {
*(void**)&pSetThreadDescription = GetProcAddress(kernel32, "SetThreadDescription");
pSetThreadDescription = (pfnSetThreadDescription) GetProcAddress(kernel32, "SetThreadDescription");
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/video/SDL_blit.c
Expand Up @@ -82,7 +82,7 @@ SDL_SoftBlit(SDL_Surface * src, SDL_Rect * srcrect,
info->dst_pitch = dst->pitch;
info->dst_skip =
info->dst_pitch - info->dst_w * info->dst_fmt->BytesPerPixel;
*(void**)&RunBlit = src->map->data;
RunBlit = (SDL_BlitFunc) src->map->data;

/* Run the actual software blit */
RunBlit(info);
Expand Down Expand Up @@ -282,7 +282,7 @@ SDL_CalculateBlit(SDL_Surface * surface)
blit = SDL_Blit_Slow;
}
}
*(SDL_BlitFunc *)&map->data = blit;
map->data = blit;

/* Make sure we have a blit function */
if (blit == NULL) {
Expand Down
4 changes: 2 additions & 2 deletions src/video/SDL_egl.c
Expand Up @@ -86,7 +86,7 @@
_this->egl_data->NAME = (void *)NAME;
#else
#define LOAD_FUNC(NAME) \
*(void**)&_this->egl_data->NAME = SDL_LoadFunction(_this->egl_data->dll_handle, #NAME); \
_this->egl_data->NAME = SDL_LoadFunction(_this->egl_data->dll_handle, #NAME); \
if (!_this->egl_data->NAME) \
{ \
return SDL_SetError("Could not retrieve EGL function " #NAME); \
Expand Down Expand Up @@ -417,7 +417,7 @@ SDL_EGL_LoadLibrary(_THIS, const char *egl_path, NativeDisplayType native_displa
_this->egl_data->egl_display = _this->egl_data->eglGetPlatformDisplay(platform, (void *)(size_t)native_display, NULL);
} else {
if (SDL_EGL_HasExtension(_this, SDL_EGL_CLIENT_EXTENSION, "EGL_EXT_platform_base")) {
*(void**)&_this->egl_data->eglGetPlatformDisplayEXT = SDL_EGL_GetProcAddress(_this, "eglGetPlatformDisplayEXT");
_this->egl_data->eglGetPlatformDisplayEXT = SDL_EGL_GetProcAddress(_this, "eglGetPlatformDisplayEXT");
if (_this->egl_data->eglGetPlatformDisplayEXT) {
_this->egl_data->egl_display = _this->egl_data->eglGetPlatformDisplayEXT(platform, (void *)(size_t)native_display, NULL);
}
Expand Down
20 changes: 9 additions & 11 deletions src/video/SDL_video.c
Expand Up @@ -224,7 +224,7 @@ ShouldUseTextureFramebuffer()
const GLubyte *(APIENTRY * glGetStringFunc) (GLenum);
const char *vendor = NULL;

*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
if (glGetStringFunc) {
vendor = (const char *) glGetStringFunc(GL_VENDOR);
}
Expand Down Expand Up @@ -2870,7 +2870,7 @@ SDL_GL_ExtensionSupported(const char *extension)

/* Lookup the available extensions */

*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
if (!glGetStringFunc) {
return SDL_FALSE;
}
Expand All @@ -2881,8 +2881,8 @@ SDL_GL_ExtensionSupported(const char *extension)
GLint num_exts = 0;
GLint i;

*(void**)&glGetStringiFunc = SDL_GL_GetProcAddress("glGetStringi");
*(void**)&glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
glGetStringiFunc = SDL_GL_GetProcAddress("glGetStringi");
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
if ((!glGetStringiFunc) || (!glGetIntegervFunc)) {
return SDL_FALSE;
}
Expand Down Expand Up @@ -3342,13 +3342,13 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
}

#if SDL_VIDEO_OPENGL
*(void**)&glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
glGetStringFunc = SDL_GL_GetProcAddress("glGetString");
if (!glGetStringFunc) {
return -1;
}

if (attachmentattrib && isAtLeastGL3((const char *) glGetStringFunc(GL_VERSION))) {
*(void**)&glGetFramebufferAttachmentParameterivFunc = SDL_GL_GetProcAddress("glGetFramebufferAttachmentParameteriv");
glGetFramebufferAttachmentParameterivFunc = SDL_GL_GetProcAddress("glGetFramebufferAttachmentParameteriv");

if (glGetFramebufferAttachmentParameterivFunc) {
glGetFramebufferAttachmentParameterivFunc(GL_FRAMEBUFFER, attachment, attachmentattrib, (GLint *) value);
Expand All @@ -3359,15 +3359,15 @@ SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
#endif
{
void (APIENTRY *glGetIntegervFunc) (GLenum pname, GLint * params);
*(void**)&glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
glGetIntegervFunc = SDL_GL_GetProcAddress("glGetIntegerv");
if (glGetIntegervFunc) {
glGetIntegervFunc(attrib, (GLint *) value);
} else {
return -1;
}
}

*(void**)&glGetErrorFunc = SDL_GL_GetProcAddress("glGetError");
glGetErrorFunc = SDL_GL_GetProcAddress("glGetError");
if (!glGetErrorFunc) {
return -1;
}
Expand Down Expand Up @@ -3995,7 +3995,6 @@ int SDL_Vulkan_LoadLibrary(const char *path)

void *SDL_Vulkan_GetVkGetInstanceProcAddr(void)
{
void *func = NULL;
if (!_this) {
SDL_UninitializedVideo();
return NULL;
Expand All @@ -4004,8 +4003,7 @@ void *SDL_Vulkan_GetVkGetInstanceProcAddr(void)
SDL_SetError("No Vulkan loader has been loaded");
return NULL;
}
*(PFN_vkGetInstanceProcAddr*)&func = _this->vulkan_config.vkGetInstanceProcAddr;
return func;
return _this->vulkan_config.vkGetInstanceProcAddr;
}

void SDL_Vulkan_UnloadLibrary(void)
Expand Down
4 changes: 2 additions & 2 deletions src/video/SDL_vulkan_internal.h
Expand Up @@ -81,8 +81,8 @@ extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
/* No SDL Vulkan support, just include the header for typedefs */
#include "SDL_vulkan.h"

typedef void* PFN_vkGetInstanceProcAddr;
typedef void* PFN_vkEnumerateInstanceExtensionProperties;
typedef void (*PFN_vkGetInstanceProcAddr) ();
typedef int (*PFN_vkEnumerateInstanceExtensionProperties) ();

#endif /* SDL_VIDEO_VULKAN */

Expand Down

0 comments on commit 40b27fd

Please sign in to comment.