diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-01-20 16:53:14 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-01-20 16:53:14 +0300 |
commit | a5270d4cf30c602910045f5b76b2c0a3bef62dd3 (patch) | |
tree | 6950e7adf59179ab13bc1525e1c73b7050e44658 /source/blender | |
parent | 482f3c008be1ef7efe6d52fd3957a3f755bca170 (diff) | |
parent | 5c5f2bd221ca5dc3d7344f4595f05ad60d525b7d (diff) |
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_library.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/fluid.c | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 5 | ||||
-rw-r--r-- | source/blender/collada/MeshImporter.cpp | 4 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_lightcache.c | 1 | ||||
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl | 3 | ||||
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_extra.c | 8 | ||||
-rw-r--r-- | source/blender/editors/object/object_add.c | 2 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt.c | 3 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_undo.c | 3 | ||||
-rw-r--r-- | source/blender/editors/space_file/fsmenu.c | 6 |
11 files changed, 19 insertions, 20 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 21dd5aaaf8f..c41cd50eba5 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -184,7 +184,6 @@ void id_us_plus(struct ID *id); void id_us_min(struct ID *id); void id_fake_user_set(struct ID *id); void id_fake_user_clear(struct ID *id); -int BKE_id_num_real_users(const struct ID *id); void BKE_id_clear_newpoin(struct ID *id); void BKE_id_make_local_generic(struct Main *bmain, diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c index 106f1216d2a..8acc2df4aea 100644 --- a/source/blender/blenkernel/intern/fluid.c +++ b/source/blender/blenkernel/intern/fluid.c @@ -3826,7 +3826,8 @@ struct Mesh *BKE_fluid_modifier_do( FluidDomainSettings *mds = mmd->domain; /* Always update viewport in cache replay mode. */ - if (mds->cache_type == FLUID_DOMAIN_CACHE_REPLAY) { + if (mds->cache_type == FLUID_DOMAIN_CACHE_REPLAY || + mds->flags & FLUID_DOMAIN_USE_ADAPTIVE_DOMAIN) { needs_viewport_update = true; } /* In other cache modes, only update the viewport when no bake is going on. */ diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index dabf44be42e..e051dc946cb 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -294,11 +294,6 @@ void id_fake_user_clear(ID *id) } } -int BKE_id_num_real_users(const ID *id) -{ - return (id->flag & LIB_FAKEUSER) ? id->us - 1 : id->us; -} - void BKE_id_clear_newpoin(ID *id) { if (id->newid) { diff --git a/source/blender/collada/MeshImporter.cpp b/source/blender/collada/MeshImporter.cpp index 94791df7b6f..e02a7a014f1 100644 --- a/source/blender/collada/MeshImporter.cpp +++ b/source/blender/collada/MeshImporter.cpp @@ -1014,12 +1014,12 @@ void MeshImporter::optimize_material_assignements() ++it) { Object *ob = (*it); Mesh *me = (Mesh *)ob->data; - if (BKE_id_num_real_users(&me->id) == 1) { + if (ID_REAL_USERS(&me->id) == 1) { bc_copy_materials_to_data(ob, me); bc_remove_materials_from_object(ob, me); bc_remove_mark(ob); } - else if (BKE_id_num_real_users(&me->id) > 1) { + else if (ID_REAL_USERS(&me->id) > 1) { bool can_move = true; std::vector<Object *> mesh_users = get_all_users_of(me); if (mesh_users.size() > 1) { diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.c b/source/blender/draw/engines/eevee/eevee_lightcache.c index aa904036463..e8e5614e4d4 100644 --- a/source/blender/draw/engines/eevee/eevee_lightcache.c +++ b/source/blender/draw/engines/eevee/eevee_lightcache.c @@ -768,6 +768,7 @@ static void eevee_lightbake_cache_create(EEVEE_Data *vedata, EEVEE_LightBake *lb EEVEE_materials_cache_finish(sldata, vedata); EEVEE_lights_cache_finish(sldata, vedata); EEVEE_lightprobes_cache_finish(sldata, vedata); + EEVEE_shadows_update(sldata, vedata); /* Disable volumetrics when baking. */ stl->effects->enabled_effects &= ~EFFECT_VOLUMETRIC; diff --git a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl index 978ce149be4..8c2619650b9 100644 --- a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl @@ -177,7 +177,8 @@ void CLOSURE_NAME(vec3 N out_refr = vec3(0.0); #endif -#ifdef SHADOW_SHADER +#if defined(SHADOW_SHADER) || defined(WORLD_BACKGROUND) + /* This makes shader resources become unused and avoid issues with samplers. (see T59747) */ return; #else diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c index 5350468d26c..c5dc6860ac2 100644 --- a/source/blender/draw/engines/overlay/overlay_extra.c +++ b/source/blender/draw/engines/overlay/overlay_extra.c @@ -29,7 +29,6 @@ #include "BKE_constraint.h" #include "BKE_curve.h" #include "BKE_global.h" -#include "BKE_library.h" #include "BKE_mball.h" #include "BKE_mesh.h" #include "BKE_movieclip.h" @@ -1019,6 +1018,11 @@ static void camera_stereoscopy_extra(OVERLAY_ExtraCallBuffers *cb, const bool is_stereo3d_plane = (v3d->stereo3d_flag & V3D_S3D_DISPPLANE) != 0; const bool is_stereo3d_volume = (v3d->stereo3d_flag & V3D_S3D_DISPVOLUME) != 0; + if (!is_stereo3d_cameras) { + /* Draw single camera. */ + DRW_buffer_add_entry_struct(cb->camera_frame, instdata); + } + for (int eye = 0; eye < 2; eye++) { ob = BKE_camera_multiview_render(scene, ob, viewnames[eye]); BKE_camera_multiview_model_matrix(&scene->r, ob, viewnames[eye], stereodata.mat); @@ -1501,7 +1505,7 @@ static void OVERLAY_object_center(OVERLAY_ExtraCallBuffers *cb, OVERLAY_PrivateData *pd, ViewLayer *view_layer) { - const bool is_library = BKE_id_num_real_users(&ob->id) > 1 || ID_IS_LINKED(ob); + const bool is_library = ID_REAL_USERS(&ob->id) > 1 || ID_IS_LINKED(ob); if (ob == OBACT(view_layer)) { DRW_buffer_add_entry(cb->center_active, ob->obmat[3]); diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 64c4abd1446..5c1c6d27ec6 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -2325,7 +2325,7 @@ static int convert_exec(bContext *C, wmOperator *op) if (!keep_original) { /* other users */ - if (BKE_id_num_real_users(&cu->id) > 1) { + if (ID_REAL_USERS(&cu->id) > 1) { for (ob1 = bmain->objects.first; ob1; ob1 = ob1->id.next) { if (ob1->data == ob->data) { ob1->type = OB_CURVE; diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index c3056fff8c5..7e3b0e378ba 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -7562,8 +7562,7 @@ static void sculpt_flush_update_done(const bContext *C, Object *ob, SculptUpdate RegionView3D *rv3d = CTX_wm_region_view3d(C); SculptSession *ss = ob->sculpt; Mesh *mesh = ob->data; - bool need_tag = (BKE_id_num_real_users(&mesh->id) > - 1); /* Always needed for linked duplicates. */ + bool need_tag = (ID_REAL_USERS(&mesh->id) > 1); /* Always needed for linked duplicates. */ if (rv3d) { rv3d->rflag &= ~RV3D_PAINTING; diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c index a069b231150..366eeae219c 100644 --- a/source/blender/editors/sculpt_paint/sculpt_undo.c +++ b/source/blender/editors/sculpt_paint/sculpt_undo.c @@ -46,7 +46,6 @@ #include "BKE_multires.h" #include "BKE_paint.h" #include "BKE_key.h" -#include "BKE_library.h" #include "BKE_mesh.h" #include "BKE_scene.h" #include "BKE_subsurf.h" @@ -633,7 +632,7 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase } } - tag_update |= BKE_id_num_real_users(ob->data) > 1 || !BKE_sculptsession_use_pbvh_draw(ob, v3d); + tag_update |= ID_REAL_USERS(ob->data) > 1 || !BKE_sculptsession_use_pbvh_draw(ob, v3d); if (ss->shapekey_active || ss->deform_modifiers_active) { Mesh *mesh = ob->data; diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c index f9506da39a8..fc03453a5cc 100644 --- a/source/blender/editors/space_file/fsmenu.c +++ b/source/blender/editors/space_file/fsmenu.c @@ -616,12 +616,12 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) continue; } - /* Add end slash for consistency with other platforms */ - BLI_add_slash(line); - /* Exclude "all my files" as it makes no sense in blender fileselector */ /* Exclude "airdrop" if wlan not active as it would show "" ) */ if (!strstr(line, "myDocuments.cannedSearch") && (*line != '\0')) { + /* Add end slash for consistency with other platforms */ + BLI_add_slash(line); + fsmenu_insert_entry( fsmenu, FS_CATEGORY_SYSTEM_BOOKMARKS, line, NULL, ICON_FILE_FOLDER, FS_INSERT_LAST); } |