diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-02-09 16:46:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-02-09 16:46:00 +0300 |
commit | 669d3bbad657e3b0003e5c56354b047cd6e6caba (patch) | |
tree | ea1bfff5ba485d10c5ee7dc28e31145737272141 /intern/cycles | |
parent | 3577ccc9c00c11864c7c77ab1022a7a2f2cc4931 (diff) | |
parent | d74bb7be1916744ae56347b49333eac22ebb7339 (diff) |
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/bvh/embree.cpp | 6 | ||||
-rw-r--r-- | intern/cycles/scene/hair.cpp | 8 | ||||
-rw-r--r-- | intern/cycles/scene/mesh.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/scene/pointcloud.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/util/math.h | 7 |
5 files changed, 15 insertions, 10 deletions
diff --git a/intern/cycles/bvh/embree.cpp b/intern/cycles/bvh/embree.cpp index 616b6273e6a..731fef52063 100644 --- a/intern/cycles/bvh/embree.cpp +++ b/intern/cycles/bvh/embree.cpp @@ -471,7 +471,7 @@ void BVHEmbree::add_instance(Object *ob, int i) assert(instance_bvh != NULL); const size_t num_object_motion_steps = ob->use_motion() ? ob->get_motion().size() : 1; - const size_t num_motion_steps = min(num_object_motion_steps, RTC_MAX_TIME_STEP_COUNT); + const size_t num_motion_steps = min(num_object_motion_steps, (size_t)RTC_MAX_TIME_STEP_COUNT); assert(num_object_motion_steps <= RTC_MAX_TIME_STEP_COUNT); RTCGeometry geom_id = rtcNewGeometry(rtc_device, RTC_GEOMETRY_TYPE_INSTANCE); @@ -522,7 +522,7 @@ void BVHEmbree::add_triangles(const Object *ob, const Mesh *mesh, int i) } assert(num_motion_steps <= RTC_MAX_TIME_STEP_COUNT); - num_motion_steps = min(num_motion_steps, RTC_MAX_TIME_STEP_COUNT); + num_motion_steps = min(num_motion_steps, (size_t)RTC_MAX_TIME_STEP_COUNT); const size_t num_triangles = mesh->num_triangles(); @@ -775,7 +775,7 @@ void BVHEmbree::add_curves(const Object *ob, const Hair *hair, int i) } assert(num_motion_steps <= RTC_MAX_TIME_STEP_COUNT); - num_motion_steps = min(num_motion_steps, RTC_MAX_TIME_STEP_COUNT); + num_motion_steps = min(num_motion_steps, (size_t)RTC_MAX_TIME_STEP_COUNT); const size_t num_curves = hair->num_curves(); size_t num_segments = 0; diff --git a/intern/cycles/scene/hair.cpp b/intern/cycles/scene/hair.cpp index 2951a609ae9..0fd9c70cc26 100644 --- a/intern/cycles/scene/hair.cpp +++ b/intern/cycles/scene/hair.cpp @@ -119,7 +119,7 @@ void Hair::Curve::motion_keys(const float3 *curve_keys, { /* Figure out which steps we need to fetch and their interpolation factor. */ const size_t max_step = num_steps - 1; - const size_t step = min((int)(time * max_step), max_step - 1); + const size_t step = std::min((size_t)(time * max_step), max_step - 1); const float t = time * max_step - step; /* Fetch vertex coordinates. */ float4 curr_keys[2]; @@ -147,7 +147,7 @@ void Hair::Curve::cardinal_motion_keys(const float3 *curve_keys, { /* Figure out which steps we need to fetch and their interpolation factor. */ const size_t max_step = num_steps - 1; - const size_t step = min((int)(time * max_step), max_step - 1); + const size_t step = min((size_t)(time * max_step), max_step - 1); const float t = time * max_step - step; /* Fetch vertex coordinates. */ float4 curr_keys[4]; @@ -192,7 +192,7 @@ void Hair::Curve::keys_for_step(const float3 *curve_keys, float4 r_keys[2]) const { k0 = max(k0, 0); - k1 = min(k1, num_keys - 1); + k1 = min(k1, (size_t)(num_keys - 1)); const size_t center_step = ((num_steps - 1) / 2); if (step == center_step) { /* Center step: regular key location. */ @@ -238,7 +238,7 @@ void Hair::Curve::cardinal_keys_for_step(const float3 *curve_keys, float4 r_keys[4]) const { k0 = max(k0, 0); - k3 = min(k3, num_keys - 1); + k3 = min(k3, (size_t)(num_keys - 1)); const size_t center_step = ((num_steps - 1) / 2); if (step == center_step) { /* Center step: regular key location. */ diff --git a/intern/cycles/scene/mesh.cpp b/intern/cycles/scene/mesh.cpp index c381d7a54ff..f53dca88ee0 100644 --- a/intern/cycles/scene/mesh.cpp +++ b/intern/cycles/scene/mesh.cpp @@ -53,7 +53,7 @@ void Mesh::Triangle::motion_verts(const float3 *verts, { /* Figure out which steps we need to fetch and their interpolation factor. */ const size_t max_step = num_steps - 1; - const size_t step = min((int)(time * max_step), max_step - 1); + const size_t step = min((size_t)(time * max_step), max_step - 1); const float t = time * max_step - step; /* Fetch vertex coordinates. */ float3 curr_verts[3]; diff --git a/intern/cycles/scene/pointcloud.cpp b/intern/cycles/scene/pointcloud.cpp index 4f88fe9db3d..6356a5030f3 100644 --- a/intern/cycles/scene/pointcloud.cpp +++ b/intern/cycles/scene/pointcloud.cpp @@ -55,7 +55,7 @@ float4 PointCloud::Point::motion_key(const float3 *points, /* Figure out which steps we need to fetch and their * interpolation factor. */ const size_t max_step = num_steps - 1; - const size_t step = min((int)(time * max_step), max_step - 1); + const size_t step = min((size_t)(time * max_step), max_step - 1); const float t = time * max_step - step; /* Fetch vertex coordinates. */ const float4 curr_key = point_for_step( diff --git a/intern/cycles/util/math.h b/intern/cycles/util/math.h index 605a19aaef0..a580a21c28b 100644 --- a/intern/cycles/util/math.h +++ b/intern/cycles/util/math.h @@ -124,7 +124,12 @@ ccl_device_inline int min(int a, int b) return (a < b) ? a : b; } -ccl_device_inline uint min(uint a, uint b) +ccl_device_inline uint32_t min(uint32_t a, uint32_t b) +{ + return (a < b) ? a : b; +} + +ccl_device_inline uint64_t min(uint64_t a, uint64_t b) { return (a < b) ? a : b; } |