From 47498c4f05ee19094be272bc0e4c44ee568fbb0d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 2 Mar 2016 06:57:26 +1100 Subject: [PATCH] Fix T47635: Texture paint performance regression Flipped bindcode check in D1414 caused projection paint to always do full updates. --- source/blender/gpu/intern/gpu_draw.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 71be262be37..1c22c89abf9 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -1227,8 +1227,11 @@ static bool GPU_check_scaled_image(ImBuf *ibuf, Image *ima, float *frect, int x, void GPU_paint_update_image(Image *ima, ImageUser *iuser, int x, int y, int w, int h) { ImBuf *ibuf = BKE_image_acquire_ibuf(ima, iuser, NULL); - - if (ima->repbind || (GPU_get_mipmap() && !GTS.gpu_mipmap) || BKE_image_has_bindcode(ima) || !ibuf || + + if (ima->repbind || + (!GTS.gpu_mipmap && GPU_get_mipmap()) || + (ima->bindcode[TEXTARGET_TEXTURE_2D] == 0) || + (ibuf == NULL) || (w == 0) || (h == 0)) { /* these cases require full reload still */