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:
authorSergey Sharybin <sergey@blender.org>2022-02-28 12:57:12 +0300
committerSergey Sharybin <sergey@blender.org>2022-02-28 12:57:12 +0300
commit6f23401e984ee5bad621109ff78eeb6850044fee (patch)
treedf97bd27dda77bb77884b25fa8c320e8030e04f7 /source/blender
parent307d612404caa1ed3252d568b506353e07242296 (diff)
parent6bbf63f25195d97c2770470a973bafb35dda5e28 (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_tag.cc4
-rw-r--r--source/blender/draw/engines/image/image_engine.cc1
-rw-r--r--source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl2
-rw-r--r--source/blender/editors/sculpt_paint/paint_image_2d_curve_mask.cc3
4 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc
index 3a810c8155f..b8c85430f06 100644
--- a/source/blender/depsgraph/intern/depsgraph_tag.cc
+++ b/source/blender/depsgraph/intern/depsgraph_tag.cc
@@ -483,6 +483,10 @@ void deg_graph_node_tag_zero(Main *bmain,
if (comp_node->type == NodeType::ANIMATION) {
continue;
}
+ else if (comp_node->type == NodeType::COPY_ON_WRITE) {
+ id_node->is_cow_explicitly_tagged = true;
+ }
+
comp_node->tag_update(graph, update_source);
}
deg_graph_id_tag_legacy_compat(bmain, graph, id, (IDRecalcFlag)0, update_source);
diff --git a/source/blender/draw/engines/image/image_engine.cc b/source/blender/draw/engines/image/image_engine.cc
index 180e9601cbd..e972d21cda4 100644
--- a/source/blender/draw/engines/image/image_engine.cc
+++ b/source/blender/draw/engines/image/image_engine.cc
@@ -107,6 +107,7 @@ class ImageEngine {
space->release_buffer(instance_data->image, image_buffer, lock);
ImageUser *iuser = space->get_image_user();
+ BKE_image_multiview_index(instance_data->image, iuser);
drawing_mode.cache_image(vedata, instance_data->image, iuser);
}
diff --git a/source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl b/source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl
index 4d0692039a4..ebaa898429d 100644
--- a/source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl
@@ -15,7 +15,7 @@ void main()
if (maskInvertStencil) {
mask.rgb = 1.0 - mask.rgb;
}
- float mask_step = smoothstep(0, 3.0, mask.r + mask.g + mask.b);
+ float mask_step = smoothstep(0.0, 3.0, mask.r + mask.g + mask.b);
mask.rgb *= maskColor;
mask.a = mask_step * opacity;
diff --git a/source/blender/editors/sculpt_paint/paint_image_2d_curve_mask.cc b/source/blender/editors/sculpt_paint/paint_image_2d_curve_mask.cc
index 64115f7c6eb..f5657b004e2 100644
--- a/source/blender/editors/sculpt_paint/paint_image_2d_curve_mask.cc
+++ b/source/blender/editors/sculpt_paint/paint_image_2d_curve_mask.cc
@@ -53,6 +53,7 @@ static void update_curve_mask(CurveMaskCache *curve_mask_cache,
{
BLI_assert(curve_mask_cache->curve_mask != nullptr);
int offset = (int)floorf(diameter / 2.0f);
+ int clamped_radius = max_ff(radius, 1.0);
unsigned short *m = curve_mask_cache->curve_mask;
@@ -76,7 +77,7 @@ static void update_curve_mask(CurveMaskCache *curve_mask_cache,
pixel_xy[1] = static_cast<float>(y) + aa_offset;
for (int j = 0; j < aa_samples; j++) {
const float len = len_v2v2(pixel_xy, bpos);
- const int sample_index = min_ii((len / radius) * CurveSamplesBaseLen,
+ const int sample_index = min_ii((len / clamped_radius) * CurveSamplesBaseLen,
CurveSamplesLen - 1);
const float sample_weight = curve_mask_cache->sampled_curve[sample_index];