diff options
author | Mai Lavelle <mai.lavelle@gmail.com> | 2017-03-01 09:47:08 +0300 |
---|---|---|
committer | Mai Lavelle <mai.lavelle@gmail.com> | 2017-03-08 09:31:07 +0300 |
commit | cd7d5669d17070799e2d2a2b28f58a06c3417d7b (patch) | |
tree | c5420e4cd9432c44575c1e489b9890ddd8439ba9 /intern/cycles/device | |
parent | 4cf501b83557ed5d64dbd2ddb13e1e8c5add88f5 (diff) |
Cycles: Remove sum_all_radiance kernel
This was only needed for the previous implementation of parallel samples. As
we don't have that any more it can be removed.
Real reason for removal tho is this: `per_sample_output_buffers` was being
calculated too small and artifacts resulted. The tile buffer is already
the correct size and calculating the size for `per_sample_output_buffers`
is a bit difficult with the current layout of the code. As
`per_sample_output_buffers` was only needed for `sum_all_radiance`,
removing that kernel and writing output to the tile buffer directly
fixes the artifacts.
Diffstat (limited to 'intern/cycles/device')
-rw-r--r-- | intern/cycles/device/device_split_kernel.cpp | 11 | ||||
-rw-r--r-- | intern/cycles/device/device_split_kernel.h | 1 |
2 files changed, 0 insertions, 12 deletions
diff --git a/intern/cycles/device/device_split_kernel.cpp b/intern/cycles/device/device_split_kernel.cpp index 85da7024a2c..13fee6c02e4 100644 --- a/intern/cycles/device/device_split_kernel.cpp +++ b/intern/cycles/device/device_split_kernel.cpp @@ -51,7 +51,6 @@ DeviceSplitKernel::~DeviceSplitKernel() delete kernel_direct_lighting; delete kernel_shadow_blocked; delete kernel_next_iteration_setup; - delete kernel_sum_all_radiance; } bool DeviceSplitKernel::load_kernels(const DeviceRequestedFeatures& requested_features) @@ -72,7 +71,6 @@ bool DeviceSplitKernel::load_kernels(const DeviceRequestedFeatures& requested_fe LOAD_KERNEL(direct_lighting); LOAD_KERNEL(shadow_blocked); LOAD_KERNEL(next_iteration_setup); - LOAD_KERNEL(sum_all_radiance); #undef LOAD_KERNEL @@ -258,15 +256,6 @@ bool DeviceSplitKernel::path_trace(DeviceTask *task, avg_time_per_sample = alpha*time_per_sample + (1.0-alpha)*avg_time_per_sample; } - size_t sum_all_radiance_local_size[2] = {16, 16}; - size_t sum_all_radiance_global_size[2]; - sum_all_radiance_global_size[0] = round_up(tile.w, sum_all_radiance_local_size[0]); - sum_all_radiance_global_size[1] = round_up(tile.h, sum_all_radiance_local_size[1]); - - ENQUEUE_SPLIT_KERNEL(sum_all_radiance, - sum_all_radiance_global_size, - sum_all_radiance_local_size); - #undef ENQUEUE_SPLIT_KERNEL tile.sample += subtile.num_samples; diff --git a/intern/cycles/device/device_split_kernel.h b/intern/cycles/device/device_split_kernel.h index 1903574f0b5..1c6a2709cf2 100644 --- a/intern/cycles/device/device_split_kernel.h +++ b/intern/cycles/device/device_split_kernel.h @@ -65,7 +65,6 @@ private: SplitKernelFunction *kernel_direct_lighting; SplitKernelFunction *kernel_shadow_blocked; SplitKernelFunction *kernel_next_iteration_setup; - SplitKernelFunction *kernel_sum_all_radiance; /* Global memory variables [porting]; These memory is used for * co-operation between different kernels; Data written by one |