diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rtextures.c | 10 |
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); |
