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
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-02-21 20:04:02 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-02-21 20:04:02 +0300
commitd6b5ee99fed2d579f0b561e98cf5eaca4304fea6 (patch)
tree98eeee99566a3727a7db3effccd855a835d18952 /intern
parent1de1cedf4c2fe3dc460267ea3134f17df508b7d9 (diff)
parentf1304c973f5eef5169e09d30c0dba82cc7e4c4a1 (diff)
Merge branch 'blender2.7'
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_object.cpp2
-rw-r--r--intern/cycles/device/opencl/opencl_split.cpp1
-rw-r--r--intern/cycles/render/session.cpp9
3 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 37fea2417ba..e55023c5400 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -461,7 +461,7 @@ Object *BlenderSync::sync_object(BL::Depsgraph& b_depsgraph,
uint motion_steps;
- if(scene->need_motion() == Scene::MOTION_BLUR) {
+ if(need_motion == Scene::MOTION_BLUR) {
motion_steps = object_motion_steps(b_parent, b_ob);
mesh->motion_steps = motion_steps;
if(motion_steps && object_use_deform_motion(b_parent, b_ob)) {
diff --git a/intern/cycles/device/opencl/opencl_split.cpp b/intern/cycles/device/opencl/opencl_split.cpp
index 8c8c93b75a2..be408e92520 100644
--- a/intern/cycles/device/opencl/opencl_split.cpp
+++ b/intern/cycles/device/opencl/opencl_split.cpp
@@ -591,6 +591,7 @@ bool OpenCLDevice::load_kernels(const DeviceRequestedFeatures& requested_feature
denoising_program = OpenCLProgram(this, "denoising", "filter.cl", "");
denoising_program.add_kernel(ustring("filter_divide_shadow"));
denoising_program.add_kernel(ustring("filter_get_feature"));
+ denoising_program.add_kernel(ustring("filter_write_feature"));
denoising_program.add_kernel(ustring("filter_detect_outliers"));
denoising_program.add_kernel(ustring("filter_combine_halves"));
denoising_program.add_kernel(ustring("filter_construct_transform"));
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 3283427011e..c6fe5d7c5f2 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -666,16 +666,19 @@ DeviceRequestedFeatures Session::get_requested_device_features()
/* This features are not being tweaked as often as shaders,
* so could be done selective magic for the viewport as well.
*/
+ bool use_motion = scene->need_motion() == Scene::MotionType::MOTION_BLUR;
requested_features.use_hair = false;
requested_features.use_object_motion = false;
- requested_features.use_camera_motion = scene->camera->use_motion();
+ requested_features.use_camera_motion = use_motion && scene->camera->use_motion();
foreach(Object *object, scene->objects) {
Mesh *mesh = object->mesh;
if(mesh->num_curves()) {
requested_features.use_hair = true;
}
- requested_features.use_object_motion |= object->use_motion() | mesh->use_motion_blur;
- requested_features.use_camera_motion |= mesh->use_motion_blur;
+ if (use_motion) {
+ requested_features.use_object_motion |= object->use_motion() | mesh->use_motion_blur;
+ requested_features.use_camera_motion |= mesh->use_motion_blur;
+ }
#ifdef WITH_OPENSUBDIV
if(mesh->subdivision_type != Mesh::SUBDIVISION_NONE) {
requested_features.use_patch_evaluation = true;