From 156187bf58a3a556c6f669acb0639bc4b6ae6990 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 2 Apr 2026 10:30:32 -0700 Subject: [PATCH] Added a hint "SDL_SURFACE_MALLOC" to disable aligned surface allocation This is needed for sdl12-compat, where all surfaces were not aligned. --- src/video/SDL_surface.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c index c3350e311c..6658ae8df5 100644 --- a/src/video/SDL_surface.c +++ b/src/video/SDL_surface.c @@ -229,12 +229,16 @@ SDL_Surface *SDL_CreateSurface(int width, int height, SDL_PixelFormat format) if (surface->w && surface->h && format != SDL_PIXELFORMAT_MJPG) { surface->flags &= ~SDL_SURFACE_PREALLOCATED; - surface->pixels = SDL_aligned_alloc(SDL_GetSIMDAlignment(), size); + if (SDL_GetHintBoolean("SDL_SURFACE_MALLOC", false)) { + surface->pixels = SDL_malloc(size); + } else { + surface->flags |= SDL_SURFACE_SIMD_ALIGNED; + surface->pixels = SDL_aligned_alloc(SDL_GetSIMDAlignment(), size); + } if (!surface->pixels) { SDL_DestroySurface(surface); return NULL; } - surface->flags |= SDL_SURFACE_SIMD_ALIGNED; // This is important for bitmaps SDL_memset(surface->pixels, 0, size);