Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2020-01-20 16:53:14 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2020-01-20 16:53:14 +0300
commita5270d4cf30c602910045f5b76b2c0a3bef62dd3 (patch)
tree6950e7adf59179ab13bc1525e1c73b7050e44658 /source/blender
parent482f3c008be1ef7efe6d52fd3957a3f755bca170 (diff)
parent5c5f2bd221ca5dc3d7344f4595f05ad60d525b7d (diff)
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_library.h1
-rw-r--r--source/blender/blenkernel/intern/fluid.c3
-rw-r--r--source/blender/blenkernel/intern/library.c5
-rw-r--r--source/blender/collada/MeshImporter.cpp4
-rw-r--r--source/blender/draw/engines/eevee/eevee_lightcache.c1
-rw-r--r--source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl3
-rw-r--r--source/blender/draw/engines/overlay/overlay_extra.c8
-rw-r--r--source/blender/editors/object/object_add.c2
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c3
-rw-r--r--source/blender/editors/sculpt_paint/sculpt_undo.c3
-rw-r--r--source/blender/editors/space_file/fsmenu.c6
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);
}