SDL: Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used format of the target texture

From 9dc201d4484290986549b89ff9444766b2797b56 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Mon, 21 Mar 2022 10:41:14 +0100
Subject: [PATCH] Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used
 format of the target texture include/SDL_render.h, format: "0 to use the
 format of the rendering target "

---
 src/render/SDL_render.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index af38a8a939d..e67a06cdc72 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -4177,7 +4177,11 @@ SDL_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
     FlushRenderCommands(renderer);  /* we need to render before we read the results. */
 
     if (!format) {
-        format = SDL_GetWindowPixelFormat(renderer->window);
+        if (renderer->target == NULL) {
+            format = SDL_GetWindowPixelFormat(renderer->window);
+        } else {
+            format = renderer->target->format;
+        }
     }
 
     real_rect.x = (int)SDL_floor(renderer->viewport.x);