diff options
Diffstat (limited to 'intern/cycles/blender/addon/engine.py')
-rw-r--r-- | intern/cycles/blender/addon/engine.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index 67e448db859..807dcaf7f43 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -70,6 +70,11 @@ def _configure_argument_parser(): parser.add_argument("--cycles-print-stats", help="Print rendering statistics to stderr", action='store_true') + parser.add_argument("--cycles-device", + help="Set the device to use for Cycles, overriding user preferences and the scene setting." + "Valid options are 'CPU', 'CUDA', 'OPTIX' or 'OPENCL'." + "Additionally, you can append '+CPU' to any GPU type for hybrid rendering.", + default=None) return parser @@ -102,6 +107,10 @@ def _parse_command_line(): import _cycles _cycles.enable_print_stats() + if args.cycles_device: + import _cycles + _cycles.set_device_override(args.cycles_device) + def init(): import bpy @@ -150,8 +159,7 @@ def create(engine, data, region=None, v3d=None, rv3d=None, preview_osl=False): screen = screen or rv3d.id_data.as_pointer() rv3d = rv3d.as_pointer() - engine.session = _cycles.create( - engine.as_pointer(), prefs, data, screen, region, v3d, rv3d, preview_osl) + engine.session = _cycles.create(engine.as_pointer(), prefs, data, screen, region, v3d, rv3d, preview_osl) def free(engine): @@ -224,6 +232,7 @@ def system_info(): import _cycles return _cycles.system_info() + def list_render_passes(scene, srl): # Builtin Blender passes. yield ("Combined", "RGBA", 'COLOR') @@ -298,6 +307,7 @@ def list_render_passes(scene, srl): else: yield (aov.name, "RGBA", 'COLOR') + def register_passes(engine, scene, view_layer): # Detect duplicate render pass names, first one wins. listed = set() @@ -306,6 +316,7 @@ def register_passes(engine, scene, view_layer): engine.register_pass(scene, view_layer, name, len(channelids), channelids, channeltype) listed.add(name) + def detect_conflicting_passes(scene, view_layer): # Detect conflicting render pass names for UI. counter = {} |