From ffd1c00d9d19577c5b8723787e9ee18eceac8152 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Fri, 19 Aug 2022 15:15:35 -0400
Subject: [PATCH] video: Support SDL_ANYFORMAT.
Reference Issue #143.
---
src/SDL12_compat.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/SDL12_compat.c b/src/SDL12_compat.c
index f539e603..9a90bf65 100644
--- a/src/SDL12_compat.c
+++ b/src/SDL12_compat.c
@@ -5621,8 +5621,6 @@ SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags12)
}
}
- FIXME("handle SDL_ANYFORMAT");
-
if ((width < 0) || (height < 0)) {
SDL20_SetError("Invalid width or height");
return NULL;
@@ -5641,9 +5639,19 @@ SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags12)
}
if (bpp == 0) {
+ flags12 |= SDL12_ANYFORMAT;
bpp = SDL_BITSPERPIXEL(dmode.format);
}
+ if ((bpp != 8) && (bpp != 16) && (bpp != 24) && (bpp != 32)) {
+ if (flags12 & SDL12_ANYFORMAT) {
+ bpp = 32;
+ } else {
+ SDL20_SetError("Unsupported bits-per-pixel");
+ return NULL;
+ }
+ }
+
#if !SDL_VERSION_ATLEAST(2,0,14)
#define SDL_PIXELFORMAT_XRGB8888 SDL_PIXELFORMAT_RGB888
#endif