Changeset View
Changeset View
Standalone View
Standalone View
src/blender/blender_python.cpp
| Context not available. | |||||
| #include "render/denoising.h" | #include "render/denoising.h" | ||||
| #include "render/merge.h" | #include "render/merge.h" | ||||
| #include "util/util_debug.h" | #include "device/device_debug.h" | ||||
| #include "util/util_foreach.h" | #include "util/util_foreach.h" | ||||
| #include "util/util_logging.h" | #include "util/util_logging.h" | ||||
| #include "util/util_md5.h" | #include "util/util_md5.h" | ||||
| Context not available. | |||||
| */ | */ | ||||
| bool debug_flags_sync_from_scene(BL::Scene b_scene) | bool debug_flags_sync_from_scene(BL::Scene b_scene) | ||||
| { | { | ||||
| DebugFlagsRef flags = DebugFlags(); | DeviceDebugFlagsRef flags = DeviceDebugFlags(); | ||||
| PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); | ||||
| /* Backup some settings for comparison. */ | /* Backup some settings for comparison. */ | ||||
| DebugFlags::OpenCL::DeviceType opencl_device_type = flags.opencl.device_type; | DeviceDebugFlags::OpenCL::DeviceType opencl_device_type = flags.opencl.device_type; | ||||
| /* Synchronize shared flags. */ | /* Synchronize shared flags. */ | ||||
| flags.viewport_static_bvh = get_enum(cscene, "debug_bvh_type"); | flags.viewport_static_bvh = get_enum(cscene, "debug_bvh_type"); | ||||
| /* Synchronize CPU flags. */ | /* Synchronize CPU flags. */ | ||||
| Context not available. | |||||
| /* Synchronize OpenCL device type. */ | /* Synchronize OpenCL device type. */ | ||||
| switch (get_enum(cscene, "debug_opencl_device_type")) { | switch (get_enum(cscene, "debug_opencl_device_type")) { | ||||
| case 0: | case 0: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_NONE; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_NONE; | ||||
| break; | break; | ||||
| case 1: | case 1: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_ALL; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_ALL; | ||||
| break; | break; | ||||
| case 2: | case 2: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_DEFAULT; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_DEFAULT; | ||||
| break; | break; | ||||
| case 3: | case 3: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_CPU; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_CPU; | ||||
| break; | break; | ||||
| case 4: | case 4: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_GPU; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_GPU; | ||||
| break; | break; | ||||
| case 5: | case 5: | ||||
| flags.opencl.device_type = DebugFlags::OpenCL::DEVICE_ACCELERATOR; | flags.opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_ACCELERATOR; | ||||
| break; | break; | ||||
| } | } | ||||
| /* Synchronize other OpenCL flags. */ | /* Synchronize other OpenCL flags. */ | ||||
| Context not available. | |||||
| */ | */ | ||||
| bool debug_flags_reset() | bool debug_flags_reset() | ||||
| { | { | ||||
| DebugFlagsRef flags = DebugFlags(); | DeviceDebugFlagsRef flags = DeviceDebugFlags(); | ||||
| /* Backup some settings for comparison. */ | /* Backup some settings for comparison. */ | ||||
| DebugFlags::OpenCL::DeviceType opencl_device_type = flags.opencl.device_type; | DeviceDebugFlags::OpenCL::DeviceType opencl_device_type = flags.opencl.device_type; | ||||
| flags.reset(); | flags.reset(); | ||||
| return flags.opencl.device_type != opencl_device_type; | return flags.opencl.device_type != opencl_device_type; | ||||
| } | } | ||||
| Context not available. | |||||
| BlenderSession::headless = headless; | BlenderSession::headless = headless; | ||||
| DebugFlags().running_inside_blender = true; | DeviceDebugFlags().running_inside_blender = true; | ||||
| VLOG(2) << "Debug flags initialized to:\n" << DebugFlags(); | VLOG(2) << "Debug flags initialized to:\n" << DeviceDebugFlags(); | ||||
| Py_RETURN_NONE; | Py_RETURN_NONE; | ||||
| } | } | ||||
| Context not available. | |||||
| static PyObject *opencl_disable_func(PyObject * /*self*/, PyObject * /*value*/) | static PyObject *opencl_disable_func(PyObject * /*self*/, PyObject * /*value*/) | ||||
| { | { | ||||
| VLOG(2) << "Disabling OpenCL platform."; | VLOG(2) << "Disabling OpenCL platform."; | ||||
| DebugFlags().opencl.device_type = DebugFlags::OpenCL::DEVICE_NONE; | DeviceDebugFlags().opencl.device_type = DeviceDebugFlags::OpenCL::DEVICE_NONE; | ||||
| Py_RETURN_NONE; | Py_RETURN_NONE; | ||||
| } | } | ||||
| Context not available. | |||||
| Device::tag_update(); | Device::tag_update(); | ||||
| } | } | ||||
| VLOG(2) << "Debug flags set to:\n" << DebugFlags(); | VLOG(2) << "Debug flags set to:\n" << DeviceDebugFlags(); | ||||
| debug_flags_set = true; | debug_flags_set = true; | ||||
| Context not available. | |||||
| Device::tag_update(); | Device::tag_update(); | ||||
| } | } | ||||
| if (debug_flags_set) { | if (debug_flags_set) { | ||||
| VLOG(2) << "Debug flags reset to:\n" << DebugFlags(); | VLOG(2) << "Debug flags reset to:\n" << DeviceDebugFlags(); | ||||
| debug_flags_set = false; | debug_flags_set = false; | ||||
| } | } | ||||
| Py_RETURN_NONE; | Py_RETURN_NONE; | ||||
| Context not available. | |||||