diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-10-28 21:55:41 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-10-29 18:01:38 +0300 |
commit | f75b09e7e6b3ed9345993455ecab8a6d1690179f (patch) | |
tree | bc5b915e58deed55d9e8b406460765a8cdfc49c8 /intern/cycles/blender | |
parent | 09be2a83580faaf4fa9b87da2632ab51d0934235 (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.cpp | 3 | ||||
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 5 |
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( |