diff options
author | Thomas Dinges <blender@dingto.org> | 2016-01-14 14:51:11 +0300 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2016-01-14 14:56:08 +0300 |
commit | 3ba9742be244db4ef24e271fd97eb490fdef7d0d (patch) | |
tree | e1343c2d0b86c55a3237d3cff4c06c7c449f469f /intern | |
parent | cc55f97da9cca7a27f2313b7405d3aad277029d7 (diff) |
Cycles: Remove the experimental CUDA kernel.
This commit removes the experimental CUDA kernel, making SSS and CMJ
regular features.
Several improvements have been made in the past few
weeks (thanks Sergey!) which make SSS render several times faster (2-3x
compared to 2.76b) on the GPU, and the increased VRAM usage has also been
fixed. Therefore the experimental kernel is no longer needed.
Differential Revision: https://developer.blender.org/D1726
Manual has been updated: too:
https://www.blender.org/manual/render/cycles/features.html
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 2 | ||||
-rw-r--r-- | intern/cycles/device/device_cuda.cpp | 14 | ||||
-rw-r--r-- | intern/cycles/kernel/CMakeLists.txt | 3 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 5 |
4 files changed, 3 insertions, 21 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 76251e182b7..8d00e4850d7 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -187,7 +187,7 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel): sub.prop(cscene, "subsurface_samples", text="Subsurface") sub.prop(cscene, "volume_samples", text="Volume") - if use_cpu(context) or cscene.feature_set == 'EXPERIMENTAL': + if not (use_opencl(context) and cscene.feature_set != 'EXPERIMENTAL'): layout.row().prop(cscene, "sampling_pattern", text="Pattern") for rl in scene.render.layers: diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 88f1a86d6ac..a91e4826b33 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -253,10 +253,7 @@ public: string cubin; /* attempt to use kernel provided with blender */ - if(requested_features.experimental) - cubin = path_get(string_printf("lib/kernel_experimental_sm_%d%d.cubin", major, minor)); - else - cubin = path_get(string_printf("lib/kernel_sm_%d%d.cubin", major, minor)); + cubin = path_get(string_printf("lib/kernel_sm_%d%d.cubin", major, minor)); VLOG(1) << "Testing for pre-compiled kernel " << cubin; if(path_exists(cubin)) { VLOG(1) << "Using precompiled kernel"; @@ -275,10 +272,7 @@ public: major, minor, md5.c_str()); #else - if(requested_features.experimental) - cubin = string_printf("cycles_kernel_experimental_sm%d%d_%s.cubin", major, minor, md5.c_str()); - else - cubin = string_printf("cycles_kernel_sm%d%d_%s.cubin", major, minor, md5.c_str()); + cubin = string_printf("cycles_kernel_sm%d%d_%s.cubin", major, minor, md5.c_str()); #endif cubin = path_user_get(path_join("cache", cubin)); @@ -338,10 +332,6 @@ public: #ifdef KERNEL_USE_ADAPTIVE command += " " + feature_build_options; -#else - if(requested_features.experimental) { - command += " -D__KERNEL_EXPERIMENTAL__"; - } #endif const char* extra_cflags = getenv("CYCLES_CUDA_EXTRA_CFLAGS"); diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index ea7899e0173..5249416e838 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -260,9 +260,6 @@ if(WITH_CYCLES_CUDA_BINARIES) foreach(arch ${CYCLES_CUDA_BINARIES_ARCH}) # Compile regular kernel CYCLES_CUDA_KERNEL_ADD(${arch} FALSE) - - # Compile experimental kernel - CYCLES_CUDA_KERNEL_ADD(${arch} TRUE) endforeach() add_custom_target(cycles_kernel_cuda ALL DEPENDS ${cuda_cubins}) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 8682325998d..77fc16e3d35 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -83,15 +83,10 @@ CCL_NAMESPACE_BEGIN #define __BRANCHED_PATH__ #define __VOLUME__ #define __VOLUME_SCATTER__ - -/* Experimental on GPU */ -#ifdef __KERNEL_EXPERIMENTAL__ #define __SUBSURFACE__ #define __CMJ__ #endif -#endif - #ifdef __KERNEL_OPENCL__ /* keep __KERNEL_ADV_SHADING__ in sync with opencl_kernel_use_advanced_shading! */ |