From fe83d9bed1f73be33e6668bfa0f75bfcc9a091be Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Thu, 24 Oct 2024 03:28:50 +0300
Subject: [PATCH] update after SDL_GLattr type change and rename in SDL3.
---
src/dynapi/SDL_dynapi_procs.h | 4 ++--
src/sdl2_compat.h | 8 ++++++++
src/sdl2_protos.h | 4 ++--
src/sdl3_syms.h | 4 ++--
4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h
index 1f4abb8..24523ee 100644
--- a/src/dynapi/SDL_dynapi_procs.h
+++ b/src/dynapi/SDL_dynapi_procs.h
@@ -582,8 +582,8 @@ SDL_DYNAPI_PROC(int,SDL_GL_LoadLibrary,(const char *a),(a),return)
SDL_DYNAPI_PROC(void*,SDL_GL_GetProcAddress,(const char *a),(a),return)
SDL_DYNAPI_PROC(void,SDL_GL_UnloadLibrary,(void),(),)
SDL_DYNAPI_PROC(SDL2_bool,SDL_GL_ExtensionSupported,(const char *a),(a),return)
-SDL_DYNAPI_PROC(int,SDL_GL_SetAttribute,(SDL_GLattr a, int b),(a,b),return)
-SDL_DYNAPI_PROC(int,SDL_GL_GetAttribute,(SDL_GLattr a, int *b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GL_SetAttribute,(SDL_GLAttr a, int b),(a,b),return)
+SDL_DYNAPI_PROC(int,SDL_GL_GetAttribute,(SDL_GLAttr a, int *b),(a,b),return)
SDL_DYNAPI_PROC(SDL_GLContext,SDL_GL_CreateContext,(SDL_Window *a),(a),return)
SDL_DYNAPI_PROC(int,SDL_GL_MakeCurrent,(SDL_Window *a, SDL_GLContext b),(a,b),return)
SDL_DYNAPI_PROC(SDL_Window*,SDL_GL_GetCurrentWindow,(void),(),return)
diff --git a/src/sdl2_compat.h b/src/sdl2_compat.h
index 3263432..f91a1d1 100644
--- a/src/sdl2_compat.h
+++ b/src/sdl2_compat.h
@@ -26,6 +26,14 @@
/* #define SDL_INIT_TIMER 0x00000001u */ /* removed in SDL3. not used here. */
+/* Make sure that the SDL2 SDL_GLattr (an enum) and the SDL3 one (an Uint32) are compatible. */
+typedef enum
+{
+ DUMMY_ENUM_VALUE0,
+ DUMMY_ENUM_VALUE1
+} SDL2_DUMMY_ENUM;
+SDL_COMPILE_TIME_ASSERT(SDL23GLattr, sizeof(SDL2_DUMMY_ENUM) == sizeof(SDL_GLAttr));
+
#ifdef __CC_ARM
/* ARM's compiler throws warnings if we use an enum: like "SDL2_bool x = a < b;" */
#define SDL2_FALSE 0
diff --git a/src/sdl2_protos.h b/src/sdl2_protos.h
index 103f4e2..8c5cff1 100644
--- a/src/sdl2_protos.h
+++ b/src/sdl2_protos.h
@@ -580,8 +580,8 @@ SDL2_PROTO(int,GL_LoadLibrary,(const char *a))
SDL2_PROTO(void*,GL_GetProcAddress,(const char *a))
SDL2_PROTO(void,GL_UnloadLibrary,(void))
SDL2_PROTO(SDL2_bool,GL_ExtensionSupported,(const char *a))
-SDL2_PROTO(int,GL_SetAttribute,(SDL_GLattr a, int b))
-SDL2_PROTO(int,GL_GetAttribute,(SDL_GLattr a, int *b))
+SDL2_PROTO(int,GL_SetAttribute,(SDL_GLAttr a, int b))
+SDL2_PROTO(int,GL_GetAttribute,(SDL_GLAttr a, int *b))
SDL2_PROTO(SDL_GLContext,GL_CreateContext,(SDL_Window *a))
SDL2_PROTO(int,GL_MakeCurrent,(SDL_Window *a, SDL_GLContext b))
SDL2_PROTO(SDL_Window*,GL_GetCurrentWindow,(void))
diff --git a/src/sdl3_syms.h b/src/sdl3_syms.h
index c8f5490..6d1aba5 100644
--- a/src/sdl3_syms.h
+++ b/src/sdl3_syms.h
@@ -187,7 +187,7 @@ SDL3_SYM_RENAMED(void,FreeCursor,DestroyCursor,(SDL_Cursor *a),(a),)
SDL3_SYM_PASSTHROUGH(SDL_GLContext,GL_CreateContext,(SDL_Window *a),(a),return)
SDL3_SYM(bool,GL_DestroyContext,(SDL_GLContext a),(a),return)
SDL3_SYM_PASSTHROUGH_BOOL(bool,GL_ExtensionSupported,(const char *a),(a),return)
-SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_GetAttribute,(SDL_GLattr a, int *b),(a,b),return)
+SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_GetAttribute,(SDL_GLAttr a, int *b),(a,b),return)
SDL3_SYM_PASSTHROUGH(SDL_GLContext,GL_GetCurrentContext,(void),(),return)
SDL3_SYM_PASSTHROUGH(SDL_Window*,GL_GetCurrentWindow,(void),(),return)
SDL3_SYM_PASSTHROUGH(void*,GL_GetProcAddress,(const char *a),(a),return)
@@ -195,7 +195,7 @@ SDL3_SYM(bool,GL_GetSwapInterval,(int *a),(a),return)
SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_LoadLibrary,(const char *a),(a),return)
SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_MakeCurrent,(SDL_Window *a, SDL_GLContext b),(a,b),return)
SDL3_SYM_PASSTHROUGH(void,GL_ResetAttributes,(void),(),)
-SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_SetAttribute,(SDL_GLattr a, int b),(a,b),return)
+SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_SetAttribute,(SDL_GLAttr a, int b),(a,b),return)
SDL3_SYM_PASSTHROUGH_RETCODE(bool,GL_SetSwapInterval,(int a),(a),return)
SDL3_SYM(bool,GL_SwapWindow,(SDL_Window *a),(a),return)
SDL3_SYM_PASSTHROUGH(void,GL_UnloadLibrary,(void),(),)