diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-09-19 17:36:49 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-09-19 17:36:49 +0400 |
commit | f2c820975699b9f07a516148df330e334dc3329c (patch) | |
tree | 139317953f7462e1d0624492699853027a93cb53 | |
parent | d76d3144b4cf366cf3932a1c11476ecb0baeab05 (diff) |
Fix T40751 preview image not generated after baking.
A DAG_id_tag_update here is enough to fix the problem.
-rw-r--r-- | source/blender/editors/object/object_bake.c | 1 | ||||
-rw-r--r-- | source/blender/editors/object/object_bake_api.c | 6 | ||||
-rw-r--r-- | source/blender/render/intern/source/multires_bake.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c index 2402ecb498d..b8957514159 100644 --- a/source/blender/editors/object/object_bake.c +++ b/source/blender/editors/object/object_bake.c @@ -682,6 +682,7 @@ static void finish_bake_internal(BakeRender *bkr) } BKE_image_release_ibuf(ima, ibuf, NULL); + DAG_id_tag_update(&ima->id, 0); } } diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c index 372ca33fa4b..5746f9efd56 100644 --- a/source/blender/editors/object/object_bake_api.c +++ b/source/blender/editors/object/object_bake_api.c @@ -56,6 +56,7 @@ #include "BKE_modifier.h" #include "BKE_mesh.h" #include "BKE_screen.h" +#include "BKE_depsgraph.h" #include "RE_engine.h" #include "RE_pipeline.h" @@ -260,13 +261,14 @@ static bool write_internal_bake_pixels( } /* force OpenGL reload */ -static void reset_images_gpu(BakeImages *bake_images) +static void refresh_images(BakeImages *bake_images) { int i; for (i = 0; i < bake_images->size; i++) { Image *ima = bake_images->data[i].image; if (ima->ok == IMA_OK_LOADED) { GPU_free_image(ima); + DAG_id_tag_update(&ima->id, 0); } } } @@ -966,7 +968,7 @@ cage_cleanup: } if (is_save_internal) - reset_images_gpu(&bake_images); + refresh_images(&bake_images); cleanup: diff --git a/source/blender/render/intern/source/multires_bake.c b/source/blender/render/intern/source/multires_bake.c index 4ac1593d1bb..d02bda258e4 100644 --- a/source/blender/render/intern/source/multires_bake.c +++ b/source/blender/render/intern/source/multires_bake.c @@ -42,6 +42,7 @@ #include "BLI_threads.h" #include "BKE_ccg.h" +#include "BKE_depsgraph.h" #include "BKE_global.h" #include "BKE_image.h" #include "BKE_multires.h" @@ -1297,6 +1298,7 @@ static void finish_images(MultiresBakeRender *bkr, MultiresBakeResult *result) } BKE_image_release_ibuf(ima, ibuf, NULL); + DAG_id_tag_update(&ima->id, 0); } } |