forked from bartvdbraak/blender
Cycles: Add a debug flag to disable QBVH
This commit is contained in:
parent
52f07ad724
commit
e5904f3eea
@ -554,6 +554,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
|
||||
cls.debug_use_cpu_sse41 = BoolProperty(name="SSE41", default=True)
|
||||
cls.debug_use_cpu_sse3 = BoolProperty(name="SSE3", default=True)
|
||||
cls.debug_use_cpu_sse2 = BoolProperty(name="SSE2", default=True)
|
||||
cls.debug_use_qbvh = BoolProperty(name="QBVH", default=True)
|
||||
|
||||
cls.debug_opencl_kernel_type = EnumProperty(
|
||||
name="OpenCL Kernel Type",
|
||||
|
@ -1511,12 +1511,13 @@ class CyclesRender_PT_debug(CyclesButtonsPanel, Panel):
|
||||
col = layout.column()
|
||||
|
||||
col.label('CPU Flags:')
|
||||
row = layout.row(align=True)
|
||||
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_use_qbvh")
|
||||
|
||||
col = layout.column()
|
||||
col.label('OpenCL Flags:')
|
||||
|
@ -65,6 +65,7 @@ bool debug_flags_sync_from_scene(BL::Scene b_scene)
|
||||
flags.cpu.sse41 = get_boolean(cscene, "debug_use_cpu_sse41");
|
||||
flags.cpu.sse3 = get_boolean(cscene, "debug_use_cpu_sse3");
|
||||
flags.cpu.sse2 = get_boolean(cscene, "debug_use_cpu_sse2");
|
||||
flags.cpu.qbvh = get_boolean(cscene, "debug_use_qbvh");
|
||||
/* Synchronize OpenCL kernel type. */
|
||||
switch(get_enum(cscene, "debug_opencl_kernel_type")) {
|
||||
case 0:
|
||||
|
@ -442,7 +442,7 @@ SceneParams BlenderSync::get_scene_params(BL::Scene b_scene, bool background, bo
|
||||
|
||||
#if !(defined(__GNUC__) && (defined(i386) || defined(_M_IX86)))
|
||||
if(is_cpu) {
|
||||
params.use_qbvh = system_cpu_support_sse2();
|
||||
params.use_qbvh = DebugFlags().cpu.qbvh && system_cpu_support_sse2();
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
@ -28,7 +28,8 @@ DebugFlags::CPU::CPU()
|
||||
avx(true),
|
||||
sse41(true),
|
||||
sse3(true),
|
||||
sse2(true)
|
||||
sse2(true),
|
||||
qbvh(true)
|
||||
{
|
||||
reset();
|
||||
}
|
||||
@ -52,6 +53,8 @@ void DebugFlags::CPU::reset()
|
||||
|
||||
#undef STRINGIFY
|
||||
#undef CHECK_CPU_FLAGS
|
||||
|
||||
qbvh = true;
|
||||
}
|
||||
|
||||
DebugFlags::OpenCL::OpenCL()
|
||||
|
@ -41,6 +41,9 @@ public:
|
||||
bool sse41;
|
||||
bool sse3;
|
||||
bool sse2;
|
||||
|
||||
/* Whether QBVH usage is allowed or not. */
|
||||
bool qbvh;
|
||||
};
|
||||
|
||||
/* Descriptor of OpenCL feature-set to be used. */
|
||||
|
Loading…
Reference in New Issue
Block a user