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:
-rw-r--r--intern/cycles/kernel/svm/svm_voronoi.h59
-rw-r--r--intern/cycles/subd/subd_dice.cpp1
-rw-r--r--intern/cycles/subd/subd_patch.h4
-rw-r--r--intern/libmv/libmv/tracking/brute_region_tracker.cc2
-rw-r--r--source/blender/blenfont/intern/blf_font.c7
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c23
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c14
7 files changed, 70 insertions, 40 deletions
diff --git a/intern/cycles/kernel/svm/svm_voronoi.h b/intern/cycles/kernel/svm/svm_voronoi.h
index 4a479d9bc71..bdfaed8845f 100644
--- a/intern/cycles/kernel/svm/svm_voronoi.h
+++ b/intern/cycles/kernel/svm/svm_voronoi.h
@@ -49,7 +49,8 @@ ccl_device void voronoi_f1_1d(float w,
float localPosition = w - cellPosition;
float minDistance = 8.0f;
- float targetOffset, targetPosition;
+ float targetOffset = 0.0f;
+ float targetPosition = 0.0f;
for (int i = -1; i <= 1; i++) {
float cellOffset = i;
float pointPosition = cellOffset + hash_float_to_float(cellPosition + cellOffset) * randomness;
@@ -113,7 +114,8 @@ ccl_device void voronoi_f2_1d(float w,
float distanceF2 = 8.0f;
float offsetF1 = 0.0f;
float positionF1 = 0.0f;
- float offsetF2, positionF2;
+ float offsetF2 = 0.0f;
+ float positionF2 = 0.0f;
for (int i = -1; i <= 1; i++) {
float cellOffset = i;
float pointPosition = cellOffset + hash_float_to_float(cellPosition + cellOffset) * randomness;
@@ -157,8 +159,8 @@ ccl_device void voronoi_n_sphere_radius_1d(float w, float randomness, float *out
float cellPosition = floorf(w);
float localPosition = w - cellPosition;
- float closestPoint;
- float closestPointOffset;
+ float closestPoint = 0.0f;
+ float closestPointOffset = 0.0f;
float minDistance = 8.0f;
for (int i = -1; i <= 1; i++) {
float cellOffset = i;
@@ -172,7 +174,7 @@ ccl_device void voronoi_n_sphere_radius_1d(float w, float randomness, float *out
}
minDistance = 8.0f;
- float closestPointToClosestPoint;
+ float closestPointToClosestPoint = 0.0f;
for (int i = -1; i <= 1; i++) {
if (i == 0) {
continue;
@@ -225,7 +227,8 @@ ccl_device void voronoi_f1_2d(float2 coord,
float2 localPosition = coord - cellPosition;
float minDistance = 8.0f;
- float2 targetOffset, targetPosition;
+ float2 targetOffset = make_float2(0.0f, 0.0f);
+ float2 targetPosition = make_float2(0.0f, 0.0f);
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
float2 cellOffset = make_float2(i, j);
@@ -295,7 +298,8 @@ ccl_device void voronoi_f2_2d(float2 coord,
float distanceF2 = 8.0f;
float2 offsetF1 = make_float2(0.0f, 0.0f);
float2 positionF1 = make_float2(0.0f, 0.0f);
- float2 offsetF2, positionF2;
+ float2 offsetF2 = make_float2(0.0f, 0.0f);
+ float2 positionF2 = make_float2(0.0f, 0.0f);
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
float2 cellOffset = make_float2(i, j);
@@ -327,7 +331,7 @@ ccl_device void voronoi_distance_to_edge_2d(float2 coord, float randomness, floa
float2 cellPosition = floor(coord);
float2 localPosition = coord - cellPosition;
- float2 vectorToClosest;
+ float2 vectorToClosest = make_float2(0.0f, 0.0f);
float minDistance = 8.0f;
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
@@ -366,8 +370,8 @@ ccl_device void voronoi_n_sphere_radius_2d(float2 coord, float randomness, float
float2 cellPosition = floor(coord);
float2 localPosition = coord - cellPosition;
- float2 closestPoint;
- float2 closestPointOffset;
+ float2 closestPoint = make_float2(0.0f, 0.0f);
+ float2 closestPointOffset = make_float2(0.0f, 0.0f);
float minDistance = 8.0f;
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
@@ -384,7 +388,7 @@ ccl_device void voronoi_n_sphere_radius_2d(float2 coord, float randomness, float
}
minDistance = 8.0f;
- float2 closestPointToClosestPoint;
+ float2 closestPointToClosestPoint = make_float2(0.0f, 0.0f);
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
if (i == 0 && j == 0) {
@@ -441,7 +445,8 @@ ccl_device void voronoi_f1_3d(float3 coord,
float3 localPosition = coord - cellPosition;
float minDistance = 8.0f;
- float3 targetOffset, targetPosition;
+ float3 targetOffset = make_float3(0.0f, 0.0f, 0.0f);
+ float3 targetPosition = make_float3(0.0f, 0.0f, 0.0f);
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
@@ -517,7 +522,8 @@ ccl_device void voronoi_f2_3d(float3 coord,
float distanceF2 = 8.0f;
float3 offsetF1 = make_float3(0.0f, 0.0f, 0.0f);
float3 positionF1 = make_float3(0.0f, 0.0f, 0.0f);
- float3 offsetF2, positionF2;
+ float3 offsetF2 = make_float3(0.0f, 0.0f, 0.0f);
+ float3 positionF2 = make_float3(0.0f, 0.0f, 0.0f);
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
@@ -552,7 +558,7 @@ ccl_device void voronoi_distance_to_edge_3d(float3 coord, float randomness, floa
float3 cellPosition = floor(coord);
float3 localPosition = coord - cellPosition;
- float3 vectorToClosest;
+ float3 vectorToClosest = make_float3(0.0f, 0.0f, 0.0f);
float minDistance = 8.0f;
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
@@ -595,8 +601,8 @@ ccl_device void voronoi_n_sphere_radius_3d(float3 coord, float randomness, float
float3 cellPosition = floor(coord);
float3 localPosition = coord - cellPosition;
- float3 closestPoint;
- float3 closestPointOffset;
+ float3 closestPoint = make_float3(0.0f, 0.0f, 0.0f);
+ float3 closestPointOffset = make_float3(0.0f, 0.0f, 0.0f);
float minDistance = 8.0f;
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
@@ -615,7 +621,7 @@ ccl_device void voronoi_n_sphere_radius_3d(float3 coord, float randomness, float
}
minDistance = 8.0f;
- float3 closestPointToClosestPoint;
+ float3 closestPointToClosestPoint = make_float3(0.0f, 0.0f, 0.0f);
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
for (int i = -1; i <= 1; i++) {
@@ -674,7 +680,8 @@ ccl_device void voronoi_f1_4d(float4 coord,
float4 localPosition = coord - cellPosition;
float minDistance = 8.0f;
- float4 targetOffset, targetPosition;
+ float4 targetOffset = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
+ float4 targetPosition = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
for (int u = -1; u <= 1; u++) {
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
@@ -754,7 +761,8 @@ ccl_device void voronoi_f2_4d(float4 coord,
float distanceF2 = 8.0f;
float4 offsetF1 = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
float4 positionF1 = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
- float4 offsetF2, positionF2;
+ float4 offsetF2 = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
+ float4 positionF2 = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
for (int u = -1; u <= 1; u++) {
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
@@ -791,7 +799,7 @@ ccl_device void voronoi_distance_to_edge_4d(float4 coord, float randomness, floa
float4 cellPosition = floor(coord);
float4 localPosition = coord - cellPosition;
- float4 vectorToClosest;
+ float4 vectorToClosest = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
float minDistance = 8.0f;
for (int u = -1; u <= 1; u++) {
for (int k = -1; k <= 1; k++) {
@@ -838,8 +846,8 @@ ccl_device void voronoi_n_sphere_radius_4d(float4 coord, float randomness, float
float4 cellPosition = floor(coord);
float4 localPosition = coord - cellPosition;
- float4 closestPoint;
- float4 closestPointOffset;
+ float4 closestPoint = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
+ float4 closestPointOffset = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
float minDistance = 8.0f;
for (int u = -1; u <= 1; u++) {
for (int k = -1; k <= 1; k++) {
@@ -860,7 +868,7 @@ ccl_device void voronoi_n_sphere_radius_4d(float4 coord, float randomness, float
}
minDistance = 8.0f;
- float4 closestPointToClosestPoint;
+ float4 closestPointToClosestPoint = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
for (int u = -1; u <= 1; u++) {
for (int k = -1; k <= 1; k++) {
for (int j = -1; j <= 1; j++) {
@@ -922,8 +930,9 @@ ccl_device void svm_node_tex_voronoi(KernelGlobals *kg,
NodeVoronoiFeature voronoi_feature = (NodeVoronoiFeature)feature;
NodeVoronoiDistanceMetric voronoi_metric = (NodeVoronoiDistanceMetric)metric;
- float distance_out, w_out, radius_out;
- float3 color_out, position_out;
+ float distance_out = 0.0f, w_out = 0.0f, radius_out = 0.0f;
+ float3 color_out = make_float3(0.0f, 0.0f, 0.0f);
+ float3 position_out = make_float3(0.0f, 0.0f, 0.0f);
randomness = clamp(randomness, 0.0f, 1.0f);
smoothness = clamp(smoothness / 2.0f, 0.0f, 0.5f);
diff --git a/intern/cycles/subd/subd_dice.cpp b/intern/cycles/subd/subd_dice.cpp
index 714ff6ed629..91c7f4bea05 100644
--- a/intern/cycles/subd/subd_dice.cpp
+++ b/intern/cycles/subd/subd_dice.cpp
@@ -180,6 +180,7 @@ void QuadDice::set_side(Subpatch &sub, int edge)
v = 1.0f - f;
break;
case 3:
+ default:
u = 1.0f - f;
v = 0;
break;
diff --git a/intern/cycles/subd/subd_patch.h b/intern/cycles/subd/subd_patch.h
index 2e3484f95e3..8fe423bc94d 100644
--- a/intern/cycles/subd/subd_patch.h
+++ b/intern/cycles/subd/subd_patch.h
@@ -24,6 +24,10 @@ CCL_NAMESPACE_BEGIN
class Patch {
public:
+ Patch() : patch_index(0), shader(0), from_ngon(false)
+ {
+ }
+
virtual ~Patch() = default;
virtual void eval(float3 *P, float3 *dPdu, float3 *dPdv, float3 *N, float u, float v) = 0;
diff --git a/intern/libmv/libmv/tracking/brute_region_tracker.cc b/intern/libmv/libmv/tracking/brute_region_tracker.cc
index 4a2aef63a96..85aecb7f633 100644
--- a/intern/libmv/libmv/tracking/brute_region_tracker.cc
+++ b/intern/libmv/libmv/tracking/brute_region_tracker.cc
@@ -110,6 +110,8 @@ inline static __m128i SumOfAbsoluteDifferencesContiguousSSE(
case 13: mask = _mm_setr_epi8(X, X, X, X, X, X, X, X, X, X, X, X, X, 0, 0, 0); break;
case 14: mask = _mm_setr_epi8(X, X, X, X, X, X, X, X, X, X, X, X, X, X, 0, 0); break;
case 15: mask = _mm_setr_epi8(X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, 0); break;
+ // To silence compiler warning.
+ default: mask = _mm_setzero_si128(); break;
#undef X
}
sad = _mm_add_epi32(sad, _mm_sad_epu8(_mm_and_si128(mask, a_trail),
diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c
index 1369240f0e2..d75da6a126f 100644
--- a/source/blender/blenfont/intern/blf_font.c
+++ b/source/blender/blenfont/intern/blf_font.c
@@ -312,6 +312,9 @@ static void blf_font_ensure_ascii_kerning(FontBLF *font, const FT_UInt kern_mode
_g = blf_glyph_add(_font, FT_Get_Char_Index((_font)->face, _c), _c); \
} \
} \
+ else { \
+ _g = NULL; \
+ } \
(void)0
#define BLF_KERNING_VARS(_font, _has_kerning, _kern_mode) \
@@ -677,7 +680,7 @@ static bool blf_font_width_to_strlen_glyph_process(FontBLF *font,
size_t blf_font_width_to_strlen(
FontBLF *font, const char *str, size_t len, float width, float *r_width)
{
- unsigned int c, c_prev;
+ unsigned int c, c_prev = BLI_UTF8_ERR;
GlyphBLF *g, *g_prev;
int pen_x, width_new;
size_t i, i_prev;
@@ -711,7 +714,7 @@ size_t blf_font_width_to_strlen(
size_t blf_font_width_to_rstrlen(
FontBLF *font, const char *str, size_t len, float width, float *r_width)
{
- unsigned int c, c_prev;
+ unsigned int c, c_prev = BLI_UTF8_ERR;
GlyphBLF *g, *g_prev;
int pen_x, width_new;
size_t i, i_prev, i_tmp;
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index d2173ed0d96..c764933fcf0 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -775,17 +775,19 @@ static int paint_space_stroke(bContext *C,
Brush *brush = BKE_paint_brush(paint);
int cnt = 0;
- float pressure, dpressure;
- float mouse[2], dmouse[2];
- float world_space_position[3], d_world_space_position[3], final_world_space_position[3];
- float length;
+ const bool use_scene_spacing = paint_stroke_use_scene_spacing(brush, mode);
+ float d_world_space_position[3] = {0.0f};
+
float no_pressure_spacing = paint_space_stroke_spacing(C, scene, stroke, 1.0f, 1.0f);
- pressure = stroke->last_pressure;
- dpressure = final_pressure - stroke->last_pressure;
+ float pressure = stroke->last_pressure;
+ float dpressure = final_pressure - stroke->last_pressure;
+
+ float dmouse[2];
sub_v2_v2v2(dmouse, final_mouse, stroke->last_mouse_position);
- length = normalize_v2(dmouse);
+ float length = normalize_v2(dmouse);
- if (paint_stroke_use_scene_spacing(brush, mode)) {
+ if (use_scene_spacing) {
+ float world_space_position[3];
bool hit = sculpt_stroke_get_location(C, world_space_position, final_mouse);
mul_m4_v3(stroke->vc.obact->obmat, world_space_position);
if (hit && stroke->stroke_over_mesh) {
@@ -795,6 +797,7 @@ static int paint_space_stroke(bContext *C,
}
else {
length = 0.0f;
+ zero_v3(d_world_space_position);
stroke->stroke_over_mesh = hit;
if (stroke->stroke_over_mesh) {
copy_v3_v3(stroke->last_world_space_position, world_space_position);
@@ -805,9 +808,11 @@ static int paint_space_stroke(bContext *C,
while (length > 0.0f) {
float spacing = paint_space_stroke_spacing_variable(
C, scene, stroke, pressure, dpressure, length);
+ float mouse[2];
if (length >= spacing) {
- if (paint_stroke_use_scene_spacing(brush, mode)) {
+ if (use_scene_spacing) {
+ float final_world_space_position[3];
normalize_v3(d_world_space_position);
mul_v3_v3fl(final_world_space_position, d_world_space_position, spacing);
add_v3_v3v3(final_world_space_position,
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index add3a154c93..12ed8d4de70 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -452,7 +452,10 @@ static void gpu_pbvh_grid_fill_index_buffers(
}
grid_visible = true;
}
- GPU_indexbuf_add_line_verts(&elb_lines, v1, v2);
+
+ if (grid_visible) {
+ GPU_indexbuf_add_line_verts(&elb_lines, v1, v2);
+ }
}
if (grid_visible) {
@@ -504,7 +507,10 @@ static void gpu_pbvh_grid_fill_index_buffers(
}
grid_visible = true;
}
- GPU_indexbuf_add_line_verts(&elb_lines, v1, v2);
+
+ if (grid_visible) {
+ GPU_indexbuf_add_line_verts(&elb_lines, v1, v2);
+ }
}
if (grid_visible) {
@@ -803,7 +809,7 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
const bool show_vcol = (update_flags & GPU_PBVH_BUFFERS_SHOW_VCOL) != 0;
int tottri, totvert, maxvert = 0;
bool empty_mask = true;
- BMFace *f;
+ BMFace *f = NULL;
/* Count visible triangles */
tottri = gpu_bmesh_face_visible_count(bm_faces);
@@ -972,7 +978,7 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
}
/* Get material index from the last face we iterated on. */
- buffers->material_index = f->mat_nr;
+ buffers->material_index = (f) ? f->mat_nr : 0;
buffers->show_mask = !empty_mask;