From b602c449e5447b1b69f5f38915e0c7236e292158 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 30 Aug 2024 10:30:14 -0700
Subject: [PATCH] Remove SDL_SCALEMODE_BEST
Fixes https://github.com/libsdl-org/SDL/issues/10619
---
build-scripts/SDL_migration.cocci | 5 -----
docs/README-migration.md | 2 +-
include/SDL3/SDL_oldnames.h | 2 --
include/SDL3/SDL_surface.h | 3 +--
src/render/sdlgpu/SDL_render_gpu.c | 8 --------
src/test/SDL_test_common.c | 7 -------
src/video/SDL_stretch.c | 2 +-
src/video/SDL_surface.c | 3 +--
8 files changed, 4 insertions(+), 28 deletions(-)
diff --git a/build-scripts/SDL_migration.cocci b/build-scripts/SDL_migration.cocci
index 79177f7644e83..4141f6b7f13f3 100644
--- a/build-scripts/SDL_migration.cocci
+++ b/build-scripts/SDL_migration.cocci
@@ -2263,11 +2263,6 @@ symbol SDL_ScaleModeLinear;
- SDL_ScaleModeLinear
+ SDL_SCALEMODE_LINEAR
@@
-symbol SDL_ScaleModeBest;
-@@
-- SDL_ScaleModeBest
-+ SDL_SCALEMODE_BEST
-@@
@@
- SDL_RenderCopy
+ SDL_RenderTexture
diff --git a/docs/README-migration.md b/docs/README-migration.md
index 86bd110df1ba9..a820d42ac978b 100644
--- a/docs/README-migration.md
+++ b/docs/README-migration.md
@@ -1407,7 +1407,6 @@ The following enums have been renamed:
* SDL_RendererFlip => SDL_FlipMode - moved to SDL_surface.h
The following symbols have been renamed:
-* SDL_ScaleModeBest => SDL_SCALEMODE_BEST
* SDL_ScaleModeLinear => SDL_SCALEMODE_LINEAR
* SDL_ScaleModeNearest => SDL_SCALEMODE_NEAREST
@@ -1416,6 +1415,7 @@ The following symbols have been removed:
* SDL_RENDERER_PRESENTVSYNC - replaced with SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER during renderer creation and SDL_PROP_RENDERER_VSYNC_NUMBER after renderer creation
* SDL_RENDERER_SOFTWARE - you can check whether the name of the renderer is `SDL_SOFTWARE_RENDERER`
* SDL_RENDERER_TARGETTEXTURE - all renderers support target texture functionality
+* SDL_ScaleModeBest = use SDL_SCALEMODE_LINEAR instead
## SDL_rwops.h
diff --git a/include/SDL3/SDL_oldnames.h b/include/SDL3/SDL_oldnames.h
index cd895d5ea96f5..a91fb8bda5e24 100644
--- a/include/SDL3/SDL_oldnames.h
+++ b/include/SDL3/SDL_oldnames.h
@@ -523,7 +523,6 @@
#define SDL_RenderSetVSync SDL_SetRenderVSync
#define SDL_RenderSetViewport SDL_SetRenderViewport
#define SDL_RenderWindowToLogical SDL_RenderCoordinatesFromWindow
-#define SDL_ScaleModeBest SDL_SCALEMODE_BEST
#define SDL_ScaleModeLinear SDL_SCALEMODE_LINEAR
#define SDL_ScaleModeNearest SDL_SCALEMODE_NEAREST
@@ -1144,7 +1143,6 @@
#define SDL_RenderSetVSync SDL_RenderSetVSync_renamed_SDL_SetRenderVSync
#define SDL_RenderSetViewport SDL_RenderSetViewport_renamed_SDL_SetRenderViewport
#define SDL_RenderWindowToLogical SDL_RenderWindowToLogical_renamed_SDL_RenderCoordinatesFromWindow
-#define SDL_ScaleModeBest SDL_ScaleModeBest_renamed_SDL_SCALEMODE_BEST
#define SDL_ScaleModeLinear SDL_ScaleModeLinear_renamed_SDL_SCALEMODE_LINEAR
#define SDL_ScaleModeNearest SDL_ScaleModeNearest_renamed_SDL_SCALEMODE_NEAREST
diff --git a/include/SDL3/SDL_surface.h b/include/SDL3/SDL_surface.h
index 8c1d3577e454f..aafe574dd6499 100644
--- a/include/SDL3/SDL_surface.h
+++ b/include/SDL3/SDL_surface.h
@@ -71,8 +71,7 @@ typedef Uint32 SDL_SurfaceFlags;
typedef enum SDL_ScaleMode
{
SDL_SCALEMODE_NEAREST, /**< nearest pixel sampling */
- SDL_SCALEMODE_LINEAR, /**< linear filtering */
- SDL_SCALEMODE_BEST /**< anisotropic filtering */
+ SDL_SCALEMODE_LINEAR /**< linear filtering */
} SDL_ScaleMode;
/**
diff --git a/src/render/sdlgpu/SDL_render_gpu.c b/src/render/sdlgpu/SDL_render_gpu.c
index 6cc655b7ed7e3..9738a2d66df66 100644
--- a/src/render/sdlgpu/SDL_render_gpu.c
+++ b/src/render/sdlgpu/SDL_render_gpu.c
@@ -1135,10 +1135,6 @@ static bool InitSamplers(GPU_RenderData *data)
{ SDL_TEXTURE_ADDRESS_CLAMP, SDL_SCALEMODE_LINEAR },
{ SDL_GPU_SAMPLERADDRESSMODE_REPEAT, SDL_GPU_FILTER_LINEAR, SDL_GPU_SAMPLERMIPMAPMODE_LINEAR, 0 },
},
- {
- { SDL_TEXTURE_ADDRESS_CLAMP, SDL_SCALEMODE_BEST },
- { SDL_GPU_SAMPLERADDRESSMODE_REPEAT, SDL_GPU_FILTER_LINEAR, SDL_GPU_SAMPLERMIPMAPMODE_LINEAR, 16 },
- },
{
{ SDL_TEXTURE_ADDRESS_WRAP, SDL_SCALEMODE_NEAREST },
{ SDL_GPU_SAMPLERADDRESSMODE_REPEAT, SDL_GPU_FILTER_NEAREST, SDL_GPU_SAMPLERMIPMAPMODE_NEAREST, 0 },
@@ -1147,10 +1143,6 @@ static bool InitSamplers(GPU_RenderData *data)
{ SDL_TEXTURE_ADDRESS_WRAP, SDL_SCALEMODE_LINEAR },
{ SDL_GPU_SAMPLERADDRESSMODE_REPEAT, SDL_GPU_FILTER_LINEAR, SDL_GPU_SAMPLERMIPMAPMODE_LINEAR, 0 },
},
- {
- { SDL_TEXTURE_ADDRESS_WRAP, SDL_SCALEMODE_BEST },
- { SDL_GPU_SAMPLERADDRESSMODE_REPEAT, SDL_GPU_FILTER_LINEAR, SDL_GPU_SAMPLERMIPMAPMODE_LINEAR, 16 },
- },
};
for (Uint32 i = 0; i < SDL_arraysize(configs); ++i) {
diff --git a/src/test/SDL_test_common.c b/src/test/SDL_test_common.c
index 71e3609579835..aea372ec2f465 100644
--- a/src/test/SDL_test_common.c
+++ b/src/test/SDL_test_common.c
@@ -526,10 +526,6 @@ int SDLTest_CommonArg(SDLTest_CommonState *state, int index)
state->logical_scale_mode = SDL_SCALEMODE_LINEAR;
return 2;
}
- if (SDL_strcasecmp(argv[index], "best") == 0) {
- state->logical_scale_mode = SDL_SCALEMODE_BEST;
- return 2;
- }
return -1;
}
if (SDL_strcasecmp(argv[index], "--scale") == 0) {
@@ -1049,9 +1045,6 @@ static void SDLTest_PrintScaleMode(char *text, size_t maxlen, SDL_ScaleMode scal
case SDL_SCALEMODE_LINEAR:
SDL_snprintfcat(text, maxlen, "LINEAR");
break;
- case SDL_SCALEMODE_BEST:
- SDL_snprintfcat(text, maxlen, "BEST");
- break;
default:
SDL_snprintfcat(text, maxlen, "0x%8.8x", scale_mode);
break;
diff --git a/src/video/SDL_stretch.c b/src/video/SDL_stretch.c
index e95aca31bd23e..d12818e4a6934 100644
--- a/src/video/SDL_stretch.c
+++ b/src/video/SDL_stretch.c
@@ -80,7 +80,7 @@ bool SDL_SoftStretch(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst
return result;
}
- if (scaleMode != SDL_SCALEMODE_NEAREST && scaleMode != SDL_SCALEMODE_LINEAR && scaleMode != SDL_SCALEMODE_BEST) {
+ if (scaleMode != SDL_SCALEMODE_NEAREST && scaleMode != SDL_SCALEMODE_LINEAR) {
return SDL_InvalidParamError("scaleMode");
}
diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c
index 293025c046fe9..1522616b4f11c 100644
--- a/src/video/SDL_surface.c
+++ b/src/video/SDL_surface.c
@@ -1093,8 +1093,7 @@ SDL_bool SDL_BlitSurfaceScaled(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Su
} else if ((src->flags & SDL_SURFACE_LOCKED) || (dst->flags & SDL_SURFACE_LOCKED)) {
return SDL_SetError("Surfaces must not be locked during blit");
} else if (scaleMode != SDL_SCALEMODE_NEAREST &&
- scaleMode != SDL_SCALEMODE_LINEAR &&
- scaleMode != SDL_SCALEMODE_BEST) {
+ scaleMode != SDL_SCALEMODE_LINEAR) {
return SDL_InvalidParamError("scaleMode");
}