March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Implement OpenCL denoising kernels Unfortunately, as always when making kernel code OpenCL compatible, that mainly means adding a huge amount of annoying pointer qualifiers... |
March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Rework memory offset function for upcoming OpenCL integration |
March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Remove useless include |
March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Cleanup safe_isfinite |
March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Print file and line when opencl_assert fails |
March 23, 2017, 23:49 (GMT) |
Cycles Denoising: Add separate set_tiles device callback For CPU and CUDA, it was possible to determine the pointers to the tile buffers on the host and just fill the TilesInfo there. However, for OpenCL the actual pointer is only known inside the kernel, so a separate kernel for setting them is needed. |
March 23, 2017, 23:19 (GMT) |
Cycles Denoising: Use kernel_config.h for CUDA as in the regular kernel |
March 23, 2017, 23:13 (GMT) |
Cycles Denoising: Bring back UI option after recent merge |
March 23, 2017, 23:13 (GMT) |
Cycles Denoising: Fix variance pass generation in the split kernel |
March 23, 2017, 23:13 (GMT) |
Cycles Denoising: Remove unused functions left over from the denoise-after-rendering removal |
March 23, 2017, 23:13 (GMT) |
Cycles Denoising: Remove obsolete Keep Denoising Data option |
March 23, 2017, 23:13 (GMT) |
Cycles Denoising: Remove tile overscan when using GPU rendering Denoising a pixel requires access to the other pixels surrounding it. On the CPU, this is solved by waiting for the neighboring tiles to be rendered before the central tile is denoised. On the GPU, it was handled by rendering larger tiles internally and discarding the overscan area after denoising. That saved a bit of memory, but wasted computation (with 256x256 tiles and a half-window of 8, 13% of rendered pixels were never actually seen). Also, supporting overscan tiles made the code more complex. So, this commit removes the overscan code and uses the CPU approach on GPUs as well. |
March 23, 2017, 15:27 (GMT) |
Cycles Denoising: Implement support in the split kernel |
March 23, 2017, 14:59 (GMT) |
Merge updated shadowcatcher into temp-cycles-denoising |
March 23, 2017, 14:13 (GMT) |
Update the shadowcatcher patch and make it look like a merge so that Git is happy |
March 15, 2017, 19:20 (GMT) |
Cycles Denoising: Deduplicate split/mega kernel code in the CUDADevice |
March 15, 2017, 19:20 (GMT) |
Cycles Denoising: Deduplicate split/mega kernel code in the CPUDevice This also means that denoising is now also executed when using the split kernel, but the result is black since the kernel doesn't write the data yet. |
March 13, 2017, 21:59 (GMT) |
Cycles Denoising: Fix NaN results in a few scenes |
March 12, 2017, 03:18 (GMT) |
Merge remote-tracking branch 'origin/master' into temp-cycles-denoising Conflicts: intern/cycles/device/CMakeLists.txt intern/cycles/device/device_cpu.cpp intern/cycles/device/device_cuda.cpp intern/cycles/device/device_task.h intern/cycles/device/opencl/opencl_split.cpp intern/cycles/kernel/CMakeLists.txt intern/cycles/kernel/kernel_path_branched.h intern/cycles/kernel/kernel_path_surface.h intern/cycles/kernel/kernel_shader.h intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h intern/cycles/kernel/kernels/cuda/kernel.cu intern/cycles/kernel/split/kernel_buffer_update.h intern/cycles/kernel/svm/svm_closure.h intern/cycles/util/util_atomic.h |
February 13, 2017, 00:39 (GMT) |
Cycles Denoising: Store feature pass into in PathRadiance |
|