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>2019-06-21 17:24:56 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-21 19:00:48 +0300
commit19488ee125734c616559a6ad94369bc28feddc7e (patch)
treeb8c7cae0e0691b31452e79d89f66dd5c0aa7725e /intern/cycles
parenta887e1ea436f14762d9b768ba2d394b7afab4ee9 (diff)
Fix (harmless) Cycles ASAN warnings
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/blender/blender_camera.cpp22
-rw-r--r--intern/cycles/graph/node.cpp4
-rw-r--r--intern/cycles/render/camera.cpp2
-rw-r--r--intern/cycles/util/util_array.h13
4 files changed, 34 insertions, 7 deletions
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 92dc8a8a4c6..da43f94708c 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -91,16 +91,31 @@ static void blender_camera_init(BlenderCamera *bcam, BL::RenderSettings &b_rende
{
memset((void *)bcam, 0, sizeof(BlenderCamera));
+ bcam->nearclip = 1e-5f;
+ bcam->farclip = 1e5f;
+
bcam->type = CAMERA_PERSPECTIVE;
+ bcam->ortho_scale = 1.0f;
+
+ bcam->lens = 50.0f;
+ bcam->shuttertime = 1.0f;
+
+ bcam->rolling_shutter_type = Camera::ROLLING_SHUTTER_NONE;
+ bcam->rolling_shutter_duration = 0.1f;
+
+ bcam->aperturesize = 0.0f;
+ bcam->apertureblades = 0;
+ bcam->aperturerotation = 0.0f;
+ bcam->focaldistance = 10.0f;
+
bcam->zoom = 1.0f;
bcam->pixelaspect = make_float2(1.0f, 1.0f);
+ bcam->aperture_ratio = 1.0f;
+
bcam->sensor_width = 36.0f;
bcam->sensor_height = 24.0f;
bcam->sensor_fit = BlenderCamera::AUTO;
- bcam->shuttertime = 1.0f;
bcam->motion_position = Camera::MOTION_POSITION_CENTER;
- bcam->rolling_shutter_type = Camera::ROLLING_SHUTTER_NONE;
- bcam->rolling_shutter_duration = 0.1f;
bcam->border.right = 1.0f;
bcam->border.top = 1.0f;
bcam->pano_viewplane.right = 1.0f;
@@ -108,6 +123,7 @@ static void blender_camera_init(BlenderCamera *bcam, BL::RenderSettings &b_rende
bcam->viewport_camera_border.right = 1.0f;
bcam->viewport_camera_border.top = 1.0f;
bcam->offscreen_dicing_scale = 1.0f;
+ bcam->matrix = transform_identity();
/* render resolution */
bcam->full_width = render_resolution_x(b_render);
diff --git a/intern/cycles/graph/node.cpp b/intern/cycles/graph/node.cpp
index fc7daaeeaa6..4f79a7518dc 100644
--- a/intern/cycles/graph/node.cpp
+++ b/intern/cycles/graph/node.cpp
@@ -313,7 +313,9 @@ void Node::set_default_value(const SocketType &socket)
{
const void *src = socket.default_value;
void *dst = ((char *)this) + socket.struct_offset;
- memcpy(dst, src, socket.size());
+ if (socket.size() > 0) {
+ memcpy(dst, src, socket.size());
+ }
}
template<typename T>
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index baa3ce77f84..7591d9dda0c 100644
--- a/intern/cycles/render/camera.cpp
+++ b/intern/cycles/render/camera.cpp
@@ -118,6 +118,8 @@ NODE_DEFINE(Camera)
stereo_eye_enum.insert("right", STEREO_RIGHT);
SOCKET_ENUM(stereo_eye, "Stereo Eye", stereo_eye_enum, STEREO_NONE);
+ SOCKET_BOOLEAN(use_spherical_stereo, "Use Spherical Stereo", false);
+
SOCKET_FLOAT(interocular_distance, "Interocular Distance", 0.065f);
SOCKET_FLOAT(convergence_distance, "Convergence Distance", 30.0f * 0.065f);
diff --git a/intern/cycles/util/util_array.h b/intern/cycles/util/util_array.h
index 1d7e39344f6..db80ab474e0 100644
--- a/intern/cycles/util/util_array.h
+++ b/intern/cycles/util/util_array.h
@@ -63,7 +63,9 @@ template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES> class arra
}
else {
data_ = mem_allocate(from.datasize_);
- memcpy(data_, from.data_, from.datasize_ * sizeof(T));
+ if (from.datasize_ > 0) {
+ memcpy(data_, from.data_, from.datasize_ * sizeof(T));
+ }
datasize_ = from.datasize_;
capacity_ = datasize_;
}
@@ -73,7 +75,9 @@ template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES> class arra
{
if (this != &from) {
resize(from.size());
- memcpy((void *)data_, from.data_, datasize_ * sizeof(T));
+ if (datasize_ > 0) {
+ memcpy((void *)data_, from.data_, datasize_ * sizeof(T));
+ }
}
return *this;
@@ -83,7 +87,7 @@ template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES> class arra
{
resize(from.size());
- if (from.size() > 0) {
+ if (from.size() > 0 && datasize_ > 0) {
memcpy(data_, &from[0], datasize_ * sizeof(T));
}
@@ -100,6 +104,9 @@ template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES> class arra
if (datasize_ != other.datasize_) {
return false;
}
+ if (datasize_ == 0) {
+ return true;
+ }
return memcmp(data_, other.data_, datasize_ * sizeof(T)) == 0;
}