[Bf-blender-cvs] [17ff01480cd] cycles_embree: Cycles: improved defaults for embree option, enable embree in the UI only when a CPU device is selected

Stefan Werner noreply at git.blender.org
Sun Nov 26 23:11:18 CET 2017


Commit: 17ff01480cde5e8431eab5caaba245165a2db422
Author: Stefan Werner
Date:   Fri Jun 23 11:51:18 2017 +0200
Branches: cycles_embree
https://developer.blender.org/rB17ff01480cde5e8431eab5caaba245165a2db422

Cycles: improved defaults for embree option, enable embree in the UI only when a CPU device is selected

===================================================================

M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/ui.py
M	intern/cycles/blender/blender_sync.cpp
M	intern/cycles/bvh/bvh_embree.cpp
M	intern/cycles/bvh/bvh_params.h

===================================================================

diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index b75929b91b2..af825b573d8 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -515,7 +515,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
         cls.use_bvh_embree = BoolProperty(
                 name="Use embree",
                 description="Use embree as ray accelerator",
-                default=False,
+                default=True,
                 )
         cls.tile_order = EnumProperty(
                 name="Tile Order",
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index fc098b52eac..769ba14659b 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -421,7 +421,10 @@ class CYCLES_RENDER_PT_performance(CyclesButtonsPanel, Panel):
         col.separator()
 
         col.label(text="Acceleration structure:")
-        col.prop(cscene, "use_bvh_embree")
+        row = col.row()
+        row.active = use_cpu(context)
+        row.prop(cscene, "use_bvh_embree")
+        row = col.row()
         col.prop(cscene, "debug_use_spatial_splits")
         row = col.row()
         row.active = not cscene.use_bvh_embree
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 9f8fbc9932f..7ac8bf80278 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -646,7 +646,12 @@ SceneParams BlenderSync::get_scene_params(BL::Scene& b_scene,
 	params.use_bvh_spatial_split = RNA_boolean_get(&cscene, "debug_use_spatial_splits");
 	params.use_bvh_unaligned_nodes = RNA_boolean_get(&cscene, "debug_use_hair_bvh");
 	params.num_bvh_time_steps = RNA_int_get(&cscene, "debug_bvh_time_steps");
-	params.use_bvh_embree = RNA_int_get(&cscene, "use_bvh_embree");
+	if(is_cpu) {
+		params.use_bvh_embree = RNA_int_get(&cscene, "use_bvh_embree");
+	}
+	else {
+		params.use_bvh_embree = false;
+	}
 
 	if(background && params.shadingsystem != SHADINGSYSTEM_OSL)
 		params.persistent_data = r.use_persistent_data();
diff --git a/intern/cycles/bvh/bvh_embree.cpp b/intern/cycles/bvh/bvh_embree.cpp
index 047fc2cb4f3..6145497ac98 100644
--- a/intern/cycles/bvh/bvh_embree.cpp
+++ b/intern/cycles/bvh/bvh_embree.cpp
@@ -132,7 +132,6 @@ void rtc_filter_func(void* userDataPtr, RTCRay& ray_)
 			Intersection *isect = &ray.isect_s[ray.num_hits];
 			ray.num_hits++;
 			ray.isect_to_ccl(isect);
-			int prim = kernel_tex_fetch(__prim_index, isect->prim);
 			/* only primitives from volume object */
 			uint tri_object = kernel_tex_fetch(__prim_object, isect->prim);
 			int object_flag = kernel_tex_fetch(__object_flag, tri_object);
diff --git a/intern/cycles/bvh/bvh_params.h b/intern/cycles/bvh/bvh_params.h
index 7c362568974..20bf0c39f58 100644
--- a/intern/cycles/bvh/bvh_params.h
+++ b/intern/cycles/bvh/bvh_params.h
@@ -102,6 +102,7 @@ public:
 		top_level = false;
 		use_qbvh = false;
 		use_unaligned_nodes = false;
+		use_bvh_embree = false;
 
 		primitive_mask = PRIMITIVE_ALL;



More information about the Bf-blender-cvs mailing list