SDL: The spinning cube GPU example triggers a few parameter validation errors for an offscreen renderer

From 36b7ce3b4eb3b4eea20eb81a29e1d5fc9b6578d5 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Wed, 12 Aug 2026 23:04:47 +0200
Subject: [PATCH] The spinning cube GPU example triggers a few parameter
 validation errors for an offscreen renderer

---
 src/render/SDL_render.c         | 2 +-
 src/render/gpu/SDL_render_gpu.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 9dbb2739dac19..36474b8084a11 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -5533,7 +5533,7 @@ bool SDL_RenderPresent(SDL_Renderer *renderer)
 
     CHECK_RENDERER_MAGIC(renderer, false);
 
-    CHECK_PARAM(renderer->target) {
+    if (renderer->target) {
         if (!renderer->window && SDL_strcmp(renderer->name, SDL_GPU_RENDERER) == 0) {
             // We're an offscreen renderer, we must submit the command queue
         } else {
diff --git a/src/render/gpu/SDL_render_gpu.c b/src/render/gpu/SDL_render_gpu.c
index 91b018bd4a65a..5a5b7aa5e4007 100644
--- a/src/render/gpu/SDL_render_gpu.c
+++ b/src/render/gpu/SDL_render_gpu.c
@@ -1747,7 +1747,7 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
     GPU_RenderData *data = NULL;
 
     // Clear any OpenGL properties on the window to avoid potential driver conflicts.
-    SDL_WindowFlags flags = SDL_GetWindowFlags(window);
+    SDL_WindowFlags flags = window ? SDL_GetWindowFlags(window) : 0;
     if (flags & SDL_WINDOW_OPENGL) {
         flags &= ~SDL_WINDOW_OPENGL;
         SDL_ReconfigureWindow(window, flags);