diff options
author | Thomas Dinges <blender@dingto.org> | 2014-08-26 19:02:03 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-08-26 19:02:26 +0400 |
commit | fb3f32760d68134aadb7978922360857f0ecccb7 (patch) | |
tree | 95e7d3e1a284fce4fc319f8affde3320f8ba26cb /source/blender/editors/space_node/drawnode.c | |
parent | f6e049cd5a61f00328c68eb9cb62b59f2bf7d451 (diff) |
Cycles: Add an experimental CUDA kernel.
Now we build 2 .cubins per architecture (e.g. kernel_sm_21.cubin, kernel_experimental_sm_21.cubin).
The experimental kernel can be used by switching to the Experimental Feature Set: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Experimental_Features
This enables Subsurface Scattering and Correlated Multi Jitter Sampling on GPU, while keeping the stability and performance of the regular kernel.
Differential Revision: https://developer.blender.org/D762
Patch by Sergey and myself.
Developer / Builder Note:
CUDA Toolkit 6.5 is highly recommended for this, also note that building the experimental kernel requires a lot of system memory (~7-8GB).
Diffstat (limited to 'source/blender/editors/space_node/drawnode.c')
-rw-r--r-- | source/blender/editors/space_node/drawnode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 89cbbb59835..286585f5f1d 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -942,12 +942,13 @@ static void node_shader_buts_anisotropic(uiLayout *layout, bContext *UNUSED(C), static void node_shader_buts_subsurface(uiLayout *layout, bContext *C, PointerRNA *ptr) { - /* SSS does not work on GPU yet */ + /* SSS only enabled in Experimental Kernel */ PointerRNA scene = CTX_data_pointer_get(C, "scene"); if (scene.data) { PointerRNA cscene = RNA_pointer_get(&scene, "cycles"); - if (cscene.data && (RNA_enum_get(&cscene, "device") == 1 && U.compute_device_type != 0)) - uiItemL(layout, IFACE_("SSS not supported on GPU"), ICON_ERROR); + if (cscene.data && (RNA_enum_get(&cscene, "device") == 1 && U.compute_device_type != 0 + && RNA_enum_get(&cscene, "feature_set") == 0)) + uiItemL(layout, IFACE_("Only enabled in experimental GPU kernel"), ICON_ERROR); } uiItemR(layout, ptr, "falloff", 0, "", ICON_NONE); |