From 6df6ae407c7cb7461ff85ade92859db494893bdf Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 7 Jul 2025 02:43:25 +0200 Subject: [PATCH] Fix transition on software rendere (#543) --- miniwin/src/d3drm/backends/software/renderer.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index 48c9c3ef..93a80a2e 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -800,9 +800,17 @@ void Direct3DRMSoftwareRenderer::Draw2DImage( return; } + bool isUpscaling = centeredRect.w > srcRect.w || centeredRect.h > srcRect.h; + SDL_Surface* surface = m_textures[textureId].cached; SDL_UnlockSurface(surface); - SDL_BlitSurfaceScaled(surface, &srcRect, m_renderedImage, ¢eredRect, SDL_SCALEMODE_LINEAR); + SDL_BlitSurfaceScaled( + surface, + &srcRect, + m_renderedImage, + ¢eredRect, + isUpscaling ? SDL_SCALEMODE_NEAREST : SDL_SCALEMODE_LINEAR + ); SDL_LockSurface(surface); }