diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-06-21 17:24:56 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-06-21 19:00:48 +0300 |
commit | 19488ee125734c616559a6ad94369bc28feddc7e (patch) | |
tree | b8c7cae0e0691b31452e79d89f66dd5c0aa7725e | |
parent | a887e1ea436f14762d9b768ba2d394b7afab4ee9 (diff) |
Fix (harmless) Cycles ASAN warnings
-rw-r--r-- | intern/cycles/blender/blender_camera.cpp | 22 | ||||
-rw-r--r-- | intern/cycles/graph/node.cpp | 4 | ||||
-rw-r--r-- | intern/cycles/render/camera.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/util/util_array.h | 13 | ||||
-rw-r--r-- | source/blender/blenlib/intern/timecode.c | 2 |
5 files changed, 35 insertions, 8 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; } diff --git a/source/blender/blenlib/intern/timecode.c b/source/blender/blenlib/intern/timecode.c index 9b6ed00c704..228f656949c 100644 --- a/source/blender/blenlib/intern/timecode.c +++ b/source/blender/blenlib/intern/timecode.c @@ -213,7 +213,7 @@ size_t BLI_timecode_string_from_time_simple(char *str, const int hr = ((int)time_seconds) / (60 * 60); const int min = (((int)time_seconds) / 60) % 60; const int sec = ((int)time_seconds) % 60; - const int hun = ((int)(time_seconds * 100.0)) % 100; + const int hun = ((int)(fmod(time_seconds, 1.0) * 100)); if (hr) { rlen = BLI_snprintf(str, maxncpy, "%.2d:%.2d:%.2d.%.2d", hr, min, sec, hun); |