sdl2-compat: minor sync with latest SDL2 and SDL3. (3f877)

From 3f877d3e498a68336c43ac1750a83da545d0b492 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 15 Oct 2024 11:22:02 +0300
Subject: [PATCH] minor sync with latest SDL2 and SDL3.

---
 src/sdl3_include_wrapper.h | 20 ++++++++++++++++++++
 test/testdrawchessboard.c  | 29 ++++++++++++++++++++++-------
 2 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/src/sdl3_include_wrapper.h b/src/sdl3_include_wrapper.h
index dba6266e..2c85fd3a 100644
--- a/src/sdl3_include_wrapper.h
+++ b/src/sdl3_include_wrapper.h
@@ -1210,6 +1210,10 @@
 #define SDL_wcstol IGNORE_THIS_VERSION_OF_SDL_wcstol
 #define SDL_StepBackUTF8 IGNORE_THIS_VERSION_OF_SDL_StepBackUTF8
 #define SDL_DelayPrecise IGNORE_THIS_VERSION_OF_SDL_DelayPrecise
+#define SDL_CalculateGPUTextureFormatSize IGNORE_THIS_VERSION_OF_SDL_CalculateGPUTextureFormatSize
+#define SDL_SetErrorV IGNORE_THIS_VERSION_OF_SDL_SetErrorV
+#define SDL_GetDefaultLogOutputFunction IGNORE_THIS_VERSION_OF_SDL_GetDefaultLogOutputFunction
+#define SDL_RenderDebugText IGNORE_THIS_VERSION_OF_SDL_RenderDebugText
 
 
 #define SDL_FUNCTION_POINTER_IS_VOID_POINTER 1
@@ -5942,6 +5946,22 @@
 #undef SDL_DelayPrecise
 #endif
 
+#ifdef SDL_CalculateGPUTextureFormatSize
+#undef SDL_CalculateGPUTextureFormatSize
+#endif
+
+#ifdef SDL_SetErrorV
+#undef SDL_SetErrorV
+#endif
+
+#ifdef SDL_GetDefaultLogOutputFunction
+#undef SDL_GetDefaultLogOutputFunction
+#endif
+
+#ifdef SDL_RenderDebugText
+#undef SDL_RenderDebugText
+#endif
+
 #undef SDL_ThreadID /* see at top. */
 
 /* dump the macro CreateThread versions, too. */
diff --git a/test/testdrawchessboard.c b/test/testdrawchessboard.c
index 6f0362fd..f4a7db51 100644
--- a/test/testdrawchessboard.c
+++ b/test/testdrawchessboard.c
@@ -12,7 +12,10 @@
    This file is created by : Nitin Jain (nitin.j4@samsung.com)
 */
 
-/* Sample program:  Draw a Chess Board  by using SDL_CreateSoftwareRenderer API */
+/* Sample program:  Draw a Chess Board  by using the SDL render API */
+
+/* This allows testing SDL_CreateSoftwareRenderer with the window surface API. Undefine it to use the accelerated renderer instead. */
+#define USE_SOFTWARE_RENDERER
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -25,9 +28,12 @@
 
 SDL_Window *window;
 SDL_Renderer *renderer;
-SDL_Surface *surface;
 int done;
 
+#ifdef USE_SOFTWARE_RENDERER
+SDL_Surface *surface;
+#endif
+
 void DrawChessBoard(void)
 {
     int row = 0, column = 0, x = 0;
@@ -50,7 +56,6 @@ void DrawChessBoard(void)
             SDL_RenderFillRect(renderer, &rect);
         }
     }
-    SDL_RenderPresent(renderer);
 }
 
 void loop(void)
@@ -58,6 +63,7 @@ void loop(void)
     SDL_Event e;
     while (SDL_PollEvent(&e)) {
 
+#ifdef USE_SOFTWARE_RENDERER
         /* Re-create when window has been resized */
         if ((e.type == SDL_WINDOWEVENT) && (e.window.event == SDL_WINDOWEVENT_SIZE_CHANGED)) {
 
@@ -69,6 +75,7 @@ void loop(void)
             SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
             SDL_RenderClear(renderer);
         }
+#endif
 
         if (e.type == SDL_QUIT) {
             done = 1;
@@ -87,11 +94,19 @@ void loop(void)
         }
     }
 
+    /* Clear the rendering surface with the specified color */
+    SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
+    SDL_RenderClear(renderer);
+
     DrawChessBoard();
 
+    SDL_RenderPresent(renderer);
+
+#ifdef USE_SOFTWARE_RENDERER
     /* Got everything on rendering surface,
        now Update the drawing image on window screen */
     SDL_UpdateWindowSurface(window);
+#endif
 }
 
 int main(int argc, char *argv[])
@@ -111,17 +126,17 @@ int main(int argc, char *argv[])
         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Window creation fail : %s\n", SDL_GetError());
         return 1;
     }
+#ifdef USE_SOFTWARE_RENDERER
     surface = SDL_GetWindowSurface(window);
     renderer = SDL_CreateSoftwareRenderer(surface);
+#else
+    renderer = SDL_CreateRenderer(window, -1, 0);
+#endif
     if (!renderer) {
         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Render creation for surface fail : %s\n", SDL_GetError());
         return 1;
     }
 
-    /* Clear the rendering surface with the specified color */
-    SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
-    SDL_RenderClear(renderer);
-
     /* Draw the Image on rendering surface */
     done = 0;
 #ifdef __EMSCRIPTEN__