diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-03-01 22:57:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-03-01 22:57:26 +0300 |
commit | 47498c4f05ee19094be272bc0e4c44ee568fbb0d (patch) | |
tree | bc8bc381a3e688b5c12ac2eecbf2f0b93d150746 /source | |
parent | b302ed210c42ecf482d1a4fd0001013539e1a424 (diff) |
Fix T47635: Texture paint performance regression
Flipped bindcode check in D1414 caused projection paint to always do full updates.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/gpu/intern/gpu_draw.c | 7 |
1 files 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 */ |