Commit: 7bda09e55d637c45bbdbc5c8b0dced889d1c2352
Author: Lukas Stockner
Date:   Fri Jan 25 15:30:18 2019 +0100
Branches: experimental-build
https://developer.blender.org/rB7bda09e55d637c45bbdbc5c8b0dced889d1c2352

Revert "Squashed commit of D3889"

This reverts commit b26cc7ce2e58d1ac2837feec66e49909f2a6fdd9.

===================================================================

M       intern/cycles/blender/addon/engine.py
M       intern/cycles/blender/blender_python.cpp
M       intern/cycles/blender/blender_session.cpp
M       intern/cycles/blender/blender_sync.cpp
M       intern/cycles/device/device_cpu.cpp
M       intern/cycles/device/device_cuda.cpp
M       intern/cycles/device/device_denoising.cpp
M       intern/cycles/device/device_denoising.h
M       intern/cycles/device/device_task.h
M       intern/cycles/device/opencl/opencl.h
M       intern/cycles/device/opencl/opencl_base.cpp
M       intern/cycles/kernel/filter/filter_defines.h
M       intern/cycles/kernel/filter/filter_features.h
M       intern/cycles/kernel/filter/filter_features_sse.h
M       intern/cycles/kernel/filter/filter_nlm_cpu.h
M       intern/cycles/kernel/filter/filter_nlm_gpu.h
M       intern/cycles/kernel/filter/filter_prefilter.h
M       intern/cycles/kernel/filter/filter_reconstruction.h
M       intern/cycles/kernel/filter/filter_transform.h
M       intern/cycles/kernel/filter/filter_transform_gpu.h
M       intern/cycles/kernel/filter/filter_transform_sse.h
M       intern/cycles/kernel/kernel_types.h
M       intern/cycles/kernel/kernels/cpu/filter_cpu.h
M       intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h
M       intern/cycles/kernel/kernels/cuda/filter.cu
M       intern/cycles/kernel/kernels/opencl/filter.cl
M       intern/cycles/render/CMakeLists.txt
M       intern/cycles/render/buffers.cpp
M       intern/cycles/render/buffers.h
D       intern/cycles/render/denoising.cpp
D       intern/cycles/render/denoising.h
M       intern/cycles/render/film.cpp
M       intern/cycles/render/film.h
M       intern/cycles/render/session.cpp
M       intern/cycles/render/session.h
M       intern/cycles/util/util_system.cpp
M       intern/cycles/util/util_system.h

===================================================================

diff --git a/intern/cycles/blender/addon/engine.py 
b/intern/cycles/blender/addon/engine.py
index b8bc74f9e35..7829e090c98 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -270,11 +270,14 @@ def register_passes(engine, scene, srl):
         engine.register_pass(scene, srl, "Noisy Image", 4, "RGBA", 'COLOR')
         if crl.denoising_store_passes:
             engine.register_pass(scene, srl, "Denoising Normal",          3, 
"XYZ", 'VECTOR')
+            engine.register_pass(scene, srl, "Denoising Normal Variance", 3, 
"XYZ", 'VECTOR')
             engine.register_pass(scene, srl, "Denoising Albedo",          3, 
"RGB", 'COLOR')
+            engine.register_pass(scene, srl, "Denoising Albedo Variance", 3, 
"RGB", 'COLOR')
             engine.register_pass(scene, srl, "Denoising Depth",           1, 
"Z",   'VALUE')
-            engine.register_pass(scene, srl, "Denoising Shadowing",       1, 
"X",   'VALUE')
-            engine.register_pass(scene, srl, "Denoising Variance",        3, 
"RGB", 'COLOR')
-            engine.register_pass(scene, srl, "Denoising Intensity",       1, 
"X",   'VALUE')
+            engine.register_pass(scene, srl, "Denoising Depth Variance",  1, 
"Z",   'VALUE')
+            engine.register_pass(scene, srl, "Denoising Shadow A",        3, 
"XYV", 'VECTOR')
+            engine.register_pass(scene, srl, "Denoising Shadow B",        3, 
"XYV", 'VECTOR')
+            engine.register_pass(scene, srl, "Denoising Image Variance",  3, 
"RGB", 'COLOR')
             clean_options = ("denoising_diffuse_direct", 
"denoising_diffuse_indirect",
                              "denoising_glossy_direct", 
"denoising_glossy_indirect",
                              "denoising_transmission_direct", 
"denoising_transmission_indirect",
diff --git a/intern/cycles/blender/blender_python.cpp 
b/intern/cycles/blender/blender_python.cpp
index 426176d37d0..bf5c2432bc7 100644
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@ -21,8 +21,6 @@
 #include "blender/blender_sync.h"
 #include "blender/blender_session.h"
 
-#include "render/denoising.h"
-
 #include "util/util_debug.h"
 #include "util/util_foreach.h"
 #include "util/util_logging.h"
@@ -620,97 +618,6 @@ static PyObject *opencl_disable_func(PyObject * /*self*/, 
PyObject * /*value*/)
 }
 #endif
 
-static PyObject *denoise_func(PyObject * /*self*/, PyObject *args, PyObject 
*keywords)
-{
-       static const char *keyword_list[] = {"in", "out", "device", "threads", 
"tile_width", "tile_height",
-                                            "frames", "frameradius", "radius", 
"strength", "featurestrength",
-                                            "relativepca", "ldr", "views", 
"list_devices", "samples", NULL};
-       const char *in_str = NULL, *out_str = NULL, *device_name = NULL, 
*frames_str = NULL;
-       PyObject *relative_pca = NULL, *ldr = NULL, *views = NULL, 
*list_devices = NULL;
-       int threads = 0, tile_width = 64, tile_height = -1, frame_radius = 2, 
radius = 8, samples = 0;
-       float strength = 0.5f, feature_strength = 0.5f;
-
-       if (!PyArg_ParseTupleAndKeywords(args, keywords, "|sssiiisiiffOOOOi", 
(char**)keyword_list,
-                                        &in_str, &out_str, &device_name, 
&threads,
-                                        &tile_width, &tile_height, 
&frames_str, &frame_radius,
-                                        &radius, &strength, &feature_strength, 
&relative_pca,
-                                        &ldr, &views, &list_devices, 
&samples)) {
-               Py_RETURN_FALSE;
-       }
-
-       if(list_devices && PyObject_IsTrue(list_devices)) {
-               vector<DeviceInfo>& devices = Device::available_devices();
-               printf("Devices:\n");
-               foreach(DeviceInfo& info, devices) {
-                       printf("    %-10s%s%s\n",
-                              Device::string_from_type(info.type).c_str(),
-                              info.description.c_str(),
-                              (info.display_device)? " (display)": "");
-               }
-
-               Py_RETURN_TRUE;
-       }
-
-       string in = string(in_str? in_str : ""), out = string(out_str? out_str 
: "");
-
-       if(in.empty() || out.empty()) {
-               fprintf(stderr, "Both input and output name/pattern must be 
specified!\n");
-               Py_RETURN_FALSE;
-       }
-
-       TaskScheduler::init(threads);
-
-       DeviceType device_type = Device::type_from_string(device_name? 
device_name : "CPU");
-       vector<DeviceInfo>& devices = Device::available_devices();
-       vector<DeviceInfo> picked_devices;
-       foreach(DeviceInfo& info, devices) {
-               if(device_type == info.type) {
-                       picked_devices.push_back(info);
-               }
-       }
-       if(picked_devices.size() == 0) {
-               fprintf(stderr, "Unknown device type!\n");
-               Py_RETURN_FALSE;
-       }
-
-       DeviceInfo device;
-       if(picked_devices.size() == 1) {
-               device = picked_devices[0];
-       }
-       else {
-               device = Device::get_multi_device(picked_devices, 0, true);
-       }
-
-       Stats stats;
-       Profiler profiler;
-       StandaloneDenoiser denoiser(Device::create(device, stats, profiler, 
true));
-       denoiser.views = views && PyObject_IsTrue(views);
-       denoiser.tile_size = make_int2(tile_width, (tile_height > 0)? 
tile_height : tile_width);
-       denoiser.samples = samples;
-       denoiser.ldr_out = ldr && PyObject_IsTrue(ldr);
-       denoiser.center_frame = string(frames_str? frames_str : "");
-       denoiser.frame_radius = frame_radius;
-       denoiser.strength = strength;
-       denoiser.feature_strength = feature_strength;
-       denoiser.relative_pca = relative_pca && PyObject_IsTrue(relative_pca);
-       denoiser.radius = radius;
-       denoiser.in_path = in;
-       denoiser.out_path = out;
-       denoiser.passthrough_incomplete = true;
-       denoiser.passthrough_additional = true;
-       denoiser.passthrough_unknown = true;
-
-       if(!denoiser.run_filter()) {
-               fprintf(stderr, "%s\n", denoiser.error.c_str());
-               TaskScheduler::exit();
-               Py_RETURN_FALSE;
-       }
-
-       TaskScheduler::exit();
-
-       Py_RETURN_TRUE;
-}
-
 static PyObject *debug_flags_update_func(PyObject * /*self*/, PyObject *args)
 {
        PyObject *pyscene;
@@ -871,9 +778,6 @@ static PyMethodDef methods[] = {
        {"opencl_disable", opencl_disable_func, METH_NOARGS, ""},
 #endif
 
-       /* Standalone denoising */
-       {"denoise", (PyCFunction)denoise_func, METH_VARARGS|METH_KEYWORDS, ""},
-
        /* Debugging routines */
        {"debug_flags_update", debug_flags_update_func, METH_VARARGS, ""},
        {"debug_flags_reset", debug_flags_reset_func, METH_NOARGS, ""},
diff --git a/intern/cycles/blender/blender_session.cpp 
b/intern/cycles/blender/blender_session.cpp
index aa5a93a2a0e..c634926ea9f 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -422,19 +422,15 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
        buffer_params.passes = passes;
 
        PointerRNA crl = RNA_pointer_get(&b_view_layer.ptr, "cycles");
-       bool full_denoising = get_boolean(crl, "use_denoising");
-       bool write_denoising_passes = get_boolean(crl, 
"denoising_store_passes");
+       bool use_denoising = get_boolean(crl, "use_denoising");
+       bool denoising_passes = use_denoising || get_boolean(crl, 
"denoising_store_passes");
 
-       bool run_denoising = full_denoising || write_denoising_passes;
-
-       session->tile_manager.schedule_denoising = run_denoising;
-       buffer_params.denoising_data_pass = run_denoising;
+       session->tile_manager.schedule_denoising = use_denoising;
+       buffer_params.denoising_data_pass = denoising_passes;
        buffer_params.denoising_clean_pass = (scene->film->denoising_flags & 
DENOISING_CLEAN_ALL_PASSES);
-       buffer_params.denoising_prefiltered_pass = write_denoising_passes;
 
-       session->params.run_denoising = run_denoising;
-       session->params.full_denoising = full_denoising;
-       session->params.write_denoising_passes = write_denoising_passes;
+       session->params.use_denoising = use_denoising;
+       session->params.denoising_passes = denoising_passes;
        session->params.denoising_radius = get_int(crl, "denoising_radius");
        session->params.denoising_strength = get_float(crl, 
"denoising_strength");
        session->params.denoising_feature_strength = get_float(crl, 
"denoising_feature_strength");
@@ -442,7 +438,6 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
 
        scene->film->denoising_data_pass = buffer_params.denoising_data_pass;
        scene->film->denoising_clean_pass = buffer_params.denoising_clean_pass;
-       scene->film->denoising_prefiltered_pass = 
buffer_params.denoising_prefiltered_pass;
        session->params.denoising_radius = get_int(crl, "denoising_radius");
        session->params.denoising_strength = get_float(crl, 
"denoising_strength");
        session->params.denoising_feature_strength = get_float(crl, 
"denoising_feature_strength");
@@ -513,11 +508,10 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
                        break;
        }
 
-       BL::RenderResult b_full_rr = b_engine.get_result();
-       string num_aa_samples = string_printf("%d", session->params.samples);
-       render_add_metadata(b_full_rr, "Cycles Samples " + b_rlay_name, 
num_aa_samples);
        if(is_single_layer) {
-               render_add_metadata(b_full_rr, "Cycles Samples", 
num_aa_samples);
+               BL::RenderResult b_rr = b_engine.get_result();
+               string num_aa_samples = string_printf("%d", 
session->params.samples);
+               b_rr.stamp_data_add_field("Cycles Samples", 
num_aa_samples.c_str());
                /* TODO(sergey): Report whether we're doing resumable render
                 * and also start/end sample if so.
                 */
diff --git a/intern/cycles/blender/blender_sync.cpp 
b/intern/cycles/blender/blender_sync.cpp
index 0a8be11dbad..60192bfa8f8 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -482,7 +482,7 @@ int BlenderSync::get_denoising_pass(BL::RenderPass& b_pass)
 {
        string name = b_pass.name();
 
-       if(name == "Noisy Image") return DENOISING_PASS_PREFILTERED_COLOR;
+       if(name == "Noisy Image") return DENOISING_PASS_COLOR;
 
        if(name.substr(0, 10) != "Denoising ") {
                return -1;
@@ -490,12 +490,15 @@ int BlenderSync::get_denoising_pass(BL::RenderPass& 
b_pass)
        name = name.substr(10);
 
 #define MAP_PASS(passname, offset) if(name == passname) return offset;
-       MAP_PASS("Normal", DENOISING_PASS_PREFILTERED_NORMAL);
-       MAP_PASS("Albedo", DENOISING_PASS_PREFILTERED_ALBEDO);
-       MAP_PASS("Depth", DENOISING_PASS_PREFILTERED_DEPTH);
-       MAP_PASS("Shadowing", DENOISING_PASS_PREFILTERED_SHADOWING);
-       MAP_PASS("Variance", DENOISING_PASS_PREFILTERED_VARIANCE);
-       MAP_PASS("Intensity", DENOISING_PASS_PREFILTERED_INTENSITY);
+       MAP_PASS("No

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to