blender/intern/cycles/kernel
Mai Lavelle eb293f59f2 Cycles: Pass all buffers to each kernel call for OpenCL
Technically not passing all buffers used by a kernel is undefined
behavior. We haven't had any issues with this so far on AMD or
Nvidia, but it's known to be a problem with Intel and we received
a report from AMD that this is a problem on newer hardware, so we
need to make this change at some point.

Unfortunately there a cost to being correct, about 5% for the
benchmark scenes. For low sample counts it's even worse, I've
seen up to 50% slowdown. For the latter case I think adjusting
tile updating logic can help, but not sure what that would look
like yet (it would be just a few lines change however).
2017-06-10 04:08:49 -04:00
..
bvh Cycles: Cleanup, indentation 2017-03-29 15:41:56 +02:00
closure Cycles: Fix random noise pattern seen with multiscatter bsdf and split kernel 2017-05-18 21:39:23 -04:00
filter Cleanup Cycles Denoising platform-specific defines 2017-06-09 22:38:16 +02:00
geom Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernels Cycles: Pass all buffers to each kernel call for OpenCL 2017-06-10 04:08:49 -04:00
osl Improve backscatter color of subsurface scattering in Principled BSDF 2017-05-31 07:29:17 +02:00
shaders Improve backscatter color of subsurface scattering in Principled BSDF 2017-05-31 07:29:17 +02:00
split Cycles: Faster split branched path tracing by sharing samples with inactive threads 2017-06-10 04:08:49 -04:00
svm Improve backscatter color of subsurface scattering in Principled BSDF 2017-05-31 07:29:17 +02:00
CMakeLists.txt Cycles: Pass all buffers to each kernel call for OpenCL 2017-06-10 04:08:49 -04:00
kernel_accumulate.h Cycles: Modify path_radiance_accum_sample to use atomics for split kernel 2017-06-10 04:08:02 -04:00
kernel_bake.h Fix T50698: Cycles baking artifacts with transparent surfaces. 2017-02-25 03:12:53 +01:00
kernel_camera.h Cycles: Remove ccl_fetch and SOA 2017-03-08 00:52:41 -05:00
kernel_compat_cpu.h Cycles: Use falltrhough attribute to help catching missing break statements 2017-05-24 17:23:54 +02:00
kernel_compat_cuda.h Cycles: Use falltrhough attribute to help catching missing break statements 2017-05-24 17:23:54 +02:00
kernel_compat_opencl.h Cycles: Use falltrhough attribute to help catching missing break statements 2017-05-24 17:23:54 +02:00
kernel_debug.h Cycles: Use dedicated debug passes for traversed nodes and intersection tests 2017-01-12 13:44:35 +01:00
kernel_differential.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_emission.h Cycles: First implementation of shadow catcher 2017-03-27 10:46:03 +02:00
kernel_film.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
kernel_globals.h Cycles: Cleanup, indentation in preprocessor 2017-04-28 13:24:09 +02:00
kernel_image_opencl.h Cycles: Fix missing type declaration in OpenCL image 2017-05-02 15:39:33 +02:00
kernel_jitter.h Cycles: Use more stable version of integer square root function 2017-05-09 17:07:17 +02:00
kernel_light.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_math.h Cycles: Make all #include statements relative to cycles source directory 2017-03-29 13:41:11 +02:00
kernel_montecarlo.h Cycles code refactor: minor refactoring and comments for volume code. 2014-03-29 13:03:49 +01:00
kernel_passes.h Cycles Denoising: Skip feature pass writing for volume-only shaders 2017-05-21 05:40:13 +02:00
kernel_path_branched.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_path_common.h Cycles: Make all #include statements relative to cycles source directory 2017-03-29 13:41:11 +02:00
kernel_path_state.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_path_subsurface.h Cycles: Remove ccl_addr_space from RNG passed to functions 2017-03-27 10:46:28 +02:00
kernel_path_surface.h Fix T50937: baking with OpenCL and CPU have slightly different brightness 2017-05-17 12:24:16 +02:00
kernel_path_volume.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_path.h Fix T50937: baking with OpenCL and CPU have slightly different brightness 2017-05-17 12:24:16 +02:00
kernel_projection.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_queues.h Cycles: Add function to dequeue a ray 2017-06-10 03:51:18 -04:00
kernel_random.h Cycles: Cleanup, mainly line length in random module 2017-04-25 11:43:20 +02:00
kernel_shader.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_shadow.h Cycles: Cleanup, style 2017-04-18 11:39:21 +02:00
kernel_subsurface.h Cycles: Workaround for AMD GPU OpenCL compiler 2017-05-05 13:00:43 +02:00
kernel_textures.h Cycles: Fix wrong hair render results when using BVH motion steps 2017-02-15 12:45:04 +01:00
kernel_types.h Cycles: Faster split branched path tracing by sharing samples with inactive threads 2017-06-10 04:08:49 -04:00
kernel_volume.h Cycles: Remove ccl_addr_space from RNG passed to functions 2017-03-27 10:46:28 +02:00
kernel_work_stealing.h Cycles: OpenCL split kernel refactor 2017-03-08 00:52:41 -05:00
kernel.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00