From ea571ddc29e4e7be441a9b58bef50190a4a35c04 Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Sat, 22 Oct 2022 02:51:52 +0200 Subject: [PATCH] Fix T101969: Crash when using large texture with nonstandard colorspace When the image colorspace is not data, linear or sRGB, the image will be converted to float (and colorspace-converted) during loading. However, if it also needs to be rescaled (due to exceeding the GPU texture size limit), the resizing assumed that it's still a byte texture. --- source/blender/imbuf/intern/util_gpu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/imbuf/intern/util_gpu.c b/source/blender/imbuf/intern/util_gpu.c index dd509677d8d..5ed6b2b9843 100644 --- a/source/blender/imbuf/intern/util_gpu.c +++ b/source/blender/imbuf/intern/util_gpu.c @@ -174,6 +174,7 @@ static void *imb_gpu_get_data(const ImBuf *ibuf, /* Other colorspace, store as float texture to avoid precision loss. */ data_rect = MEM_mallocN(sizeof(float[4]) * ibuf->x * ibuf->y, __func__); *r_freedata = freedata = true; + is_float_rect = true; if (data_rect == NULL) { return NULL;