Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/blender/addon/engine.py')
-rw-r--r--intern/cycles/blender/addon/engine.py15
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 = {}