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:
authorBrecht Van Lommel <brecht@blender.org>2020-10-28 21:55:41 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-10-29 18:01:38 +0300
commitf75b09e7e6b3ed9345993455ecab8a6d1690179f (patch)
treebc5b915e58deed55d9e8b406460765a8cdfc49c8 /intern/cycles/blender
parent09be2a83580faaf4fa9b87da2632ab51d0934235 (diff)
Cycles: abort rendering when --cycles-device not found
Rather than just printing a message and falling back to the CPU. For render farms it's better to avoid a potentially slow render on the CPU if the intent was to render on the GPU. Ref T82193, D9086
Diffstat (limited to 'intern/cycles/blender')
-rw-r--r--intern/cycles/blender/blender_device.cpp3
-rw-r--r--intern/cycles/blender/blender_session.cpp5
2 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_device.cpp b/intern/cycles/blender/blender_device.cpp
index 0293223864d..ffcaef0b2a9 100644
--- a/intern/cycles/blender/blender_device.cpp
+++ b/intern/cycles/blender/blender_device.cpp
@@ -47,8 +47,7 @@ DeviceInfo blender_device_info(BL::Preferences &b_preferences, BL::Scene &b_scen
vector<DeviceInfo> devices = Device::available_devices(BlenderSession::device_override);
if (devices.empty()) {
- printf("Found no Cycles device of the specified type, falling back to CPU...\n");
- return Device::available_devices(DEVICE_MASK_CPU).front();
+ return Device::dummy_device("Found no Cycles device of the specified type");
}
int threads = blender_device_threads(b_scene);
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index c2bdec0e53d..8214ff7d532 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -472,6 +472,11 @@ void BlenderSession::render(BL::Depsgraph &b_depsgraph_)
{
b_depsgraph = b_depsgraph_;
+ if (session->progress.get_cancel()) {
+ update_status_progress();
+ return;
+ }
+
/* set callback to write out render results */
session->write_render_tile_cb = function_bind(&BlenderSession::write_render_tile, this, _1);
session->update_render_tile_cb = function_bind(