From c4af41ba27fd401d88bf1b076cfc0d2af9240dc6 Mon Sep 17 00:00:00 2001
From: nmlgc <[EMAIL REDACTED]>
Date: Mon, 23 Mar 2026 22:10:15 +0100
Subject: [PATCH] render: Skip UV check when software-rendering untextured
quads
Fixes a crash when calling SDL_RenderGeometryRaw() with both `texture`
and `uv` set to `NULL`, and with geometry that is laid out in a way
that passes the quad checks.
(cherry picked from commit 989de77f4f7d8ec4e51c317371e9aeb502f48d51)
---
src/render/SDL_render.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 7912117b2ccdb..01938e4c1d414 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -5157,7 +5157,7 @@ static bool SDLCALL SDL_SW_RenderGeometryRaw(SDL_Renderer *renderer,
}
// Check if UVs within range
- if (is_quad) {
+ if (is_quad && uv) {
const float *uv0_ = (const float *)((const char *)uv + A * color_stride);
const float *uv1_ = (const float *)((const char *)uv + B * color_stride);
const float *uv2_ = (const float *)((const char *)uv + C * color_stride);