Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2020-02-23 11:14:52 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-06-22 14:28:01 +0300
commit99436acde8fbb7381f095922bb61455b0c8fb9a9 (patch)
treebc37513bbb32bcd1323c58818566d99fd3d73aa9 /intern
parent2c41c8e94fa8740f67dc39150dd1ab66b506adc9 (diff)
Cycles: enable Embree by default for CPU rendering
For GPU debugging purposes, it is still possible to render with the same BVH2 on the CPU using the Debug panel in the render properties. Note that building Blender without Embree will now lead to significantly reduced performance in CPU rendering, and a few of the Cycles regression tests will fail due to small pixel differences. Ref T73778 Depends on D8014 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8015
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/addon/properties.py15
-rw-r--r--intern/cycles/blender/blender_sync.cpp5
-rw-r--r--intern/cycles/kernel/kernel_types.h3
3 files changed, 12 insertions, 11 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 269ad8ecc5b..b7e9b1511ec 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -53,6 +53,11 @@ enum_displacement_methods = (
('BOTH', "Displacement and Bump", "Combination of true displacement and bump mapping for finer detail"),
)
+enum_bvh_layouts = (
+ ('BVH2', "BVH2", "", 1),
+ ('EMBREE', "Embree", "", 4),
+)
+
enum_bvh_types = (
('DYNAMIC_BVH', "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"),
('STATIC_BVH', "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster"),
@@ -612,11 +617,6 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
items=enum_bvh_types,
default='DYNAMIC_BVH',
)
- use_bvh_embree: BoolProperty(
- name="Use Embree",
- description="Use Embree as ray accelerator",
- default=False,
- )
debug_use_spatial_splits: BoolProperty(
name="Use Spatial Splits",
description="Use BVH spatial splits: longer builder time, faster render",
@@ -766,6 +766,11 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
debug_use_cpu_sse41: BoolProperty(name="SSE41", default=True)
debug_use_cpu_sse3: BoolProperty(name="SSE3", default=True)
debug_use_cpu_sse2: BoolProperty(name="SSE2", default=True)
+ debug_bvh_layout: EnumProperty(
+ name="BVH Layout",
+ items=enum_bvh_layouts,
+ default='EMBREE',
+ )
debug_use_cpu_split_kernel: BoolProperty(name="Split Kernel", default=False)
debug_use_cuda_adaptive_compile: BoolProperty(name="Adaptive Compile", default=False)
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 7a6047ca6a6..b40c8434395 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -757,11 +757,6 @@ SceneParams BlenderSync::get_scene_params(BL::Scene &b_scene, bool background)
params.bvh_layout = DebugFlags().cpu.bvh_layout;
-#ifdef WITH_EMBREE
- params.bvh_layout = RNA_boolean_get(&cscene, "use_bvh_embree") ? BVH_LAYOUT_EMBREE :
- params.bvh_layout;
-#endif
-
params.background = background;
return params;
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index ff0f6bd1fbe..fc9cc73a704 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -1400,7 +1400,8 @@ typedef enum KernelBVHLayout {
BVH_LAYOUT_EMBREE = (1 << 1),
BVH_LAYOUT_OPTIX = (1 << 2),
- BVH_LAYOUT_AUTO = BVH_LAYOUT_BVH2,
+ /* Default BVH layout to use for CPU. */
+ BVH_LAYOUT_AUTO = BVH_LAYOUT_EMBREE,
BVH_LAYOUT_ALL = (unsigned int)(~0u),
} KernelBVHLayout;