[Bf-blender-cvs] [466b50dbc9f] master: Cycles: expose direct light sampling option in Debug panel, tweak panel layout

Brecht Van Lommel noreply at git.blender.org
Thu Nov 25 19:00:03 CET 2021


Commit: 466b50dbc9f07c19e307e1365712803aecd79c8f
Author: Brecht Van Lommel
Date:   Thu Nov 25 14:32:53 2021 +0100
Branches: master
https://developer.blender.org/rB466b50dbc9f07c19e307e1365712803aecd79c8f

Cycles: expose direct light sampling option in Debug panel, tweak panel layout

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

M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/ui.py
M	intern/cycles/blender/python.cpp
M	intern/cycles/integrator/render_scheduler.cpp

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

diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index a478dc22cd0..0de936ddb11 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -429,7 +429,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
     )
 
     direct_light_sampling_type: EnumProperty(
-        name="Direct Light Sampling Type",
+        name="Direct Light Sampling",
         description="The type of strategy used for sampling direct light contributions",
         items=enum_direct_light_sampling_type,
         default='MULTIPLE_IMPORTANCE_SAMPLING',
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 57741447608..6fd21db38ae 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -1819,37 +1819,38 @@ class CYCLES_RENDER_PT_debug(CyclesDebugButtonsPanel, Panel):
 
     def draw(self, context):
         layout = self.layout
+        layout.use_property_split = True
+        layout.use_property_decorate = False  # No animation.
 
         scene = context.scene
         cscene = scene.cycles
 
-        col = layout.column()
+        col = layout.column(heading="CPU")
 
-        col.label(text="CPU Flags:")
         row = col.row(align=True)
         row.prop(cscene, "debug_use_cpu_sse2", toggle=True)
         row.prop(cscene, "debug_use_cpu_sse3", toggle=True)
         row.prop(cscene, "debug_use_cpu_sse41", toggle=True)
         row.prop(cscene, "debug_use_cpu_avx", toggle=True)
         row.prop(cscene, "debug_use_cpu_avx2", toggle=True)
-        col.prop(cscene, "debug_bvh_layout")
+        col.prop(cscene, "debug_bvh_layout", text="BVH")
 
         col.separator()
 
-        col = layout.column()
-        col.label(text="CUDA Flags:")
+        col = layout.column(heading="CUDA")
         col.prop(cscene, "debug_use_cuda_adaptive_compile")
+        col = layout.column(heading="OptiX")
+        col.prop(cscene, "debug_use_optix_debug", text="Module Debug")
 
         col.separator()
 
-        col = layout.column()
-        col.label(text="OptiX Flags:")
-        col.prop(cscene, "debug_use_optix_debug")
+        col.prop(cscene, "debug_bvh_type", text="Viewport BVH")
 
         col.separator()
 
-        col = layout.column()
-        col.prop(cscene, "debug_bvh_type")
+        import _cycles
+        if _cycles.with_debug:
+            col.prop(cscene, "direct_light_sampling_type")
 
 
 class CYCLES_RENDER_PT_simplify(CyclesButtonsPanel, Panel):
diff --git a/intern/cycles/blender/python.cpp b/intern/cycles/blender/python.cpp
index bb9b0a74424..012122cf9e3 100644
--- a/intern/cycles/blender/python.cpp
+++ b/intern/cycles/blender/python.cpp
@@ -1054,5 +1054,13 @@ void *CCL_python_module_init()
     Py_INCREF(Py_False);
   }
 
+#ifdef WITH_CYCLES_DEBUG
+  PyModule_AddObject(mod, "with_debug", Py_True);
+  Py_INCREF(Py_True);
+#else  /* WITH_CYCLES_DEBUG */
+  PyModule_AddObject(mod, "with_debug", Py_False);
+  Py_INCREF(Py_False);
+#endif /* WITH_CYCLES_DEBUG */
+
   return (void *)mod;
 }
diff --git a/intern/cycles/integrator/render_scheduler.cpp b/intern/cycles/integrator/render_scheduler.cpp
index 971173a5e96..ac82b151f45 100644
--- a/intern/cycles/integrator/render_scheduler.cpp
+++ b/intern/cycles/integrator/render_scheduler.cpp
@@ -406,6 +406,9 @@ bool RenderScheduler::set_postprocess_render_work(RenderWork *render_work)
     any_scheduled = true;
   }
 
+  /* Force update. */
+  any_scheduled = true;
+
   if (any_scheduled) {
     render_work->display.update = true;
   }



More information about the Bf-blender-cvs mailing list