summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rtextures.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rtextures.c b/src/rtextures.c
index 3328553c..7cc350c5 100644
--- a/src/rtextures.c
+++ b/src/rtextures.c
@@ -1414,10 +1414,12 @@ void ImageResize(Image *image, int newWidth, int newHeight)
// Security check to avoid program crash
if ((image->data == NULL) || (image->width == 0) || (image->height == 0)) return;
- bool fastPath = true;
- if ((image->format != PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) && (image->format != PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA) && (image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8) && (image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)) fastPath = true;
-
- if (fastPath)
+ // Check if we can use a fast path on image scaling
+ // It can be for 8 bit per channel images with 1 to 4 channels per pixel
+ if ((image->format == PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) ||
+ (image->format == PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA) ||
+ (image->format == PIXELFORMAT_UNCOMPRESSED_R8G8B8) ||
+ (image->format == PIXELFORMAT_UNCOMPRESSED_R8G8B8A8))
{
int bytesPerPixel = GetPixelDataSize(1, 1, image->format);
unsigned char *output = (unsigned char *)RL_MALLOC(newWidth*newHeight*bytesPerPixel);