From f7b6b7dda358c7928ca053c27357bc068b8c9d12 Mon Sep 17 00:00:00 2001 From: Patrick Mours Date: Mon, 24 Feb 2020 17:53:41 +0100 Subject: Fix unnecessary Cycles OptiX kernel loading With the OptiX viewport denoiser active, an OptiX device was added to the device list even when rendering and denoising on different devices (e.g. CPU or CUDA) in background rendering. This fixes it, so the OptiX device is only added when actually needed, as in only when OptiX denoising is actually active in background rendering. --- intern/cycles/blender/blender_device.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'intern/cycles/blender') diff --git a/intern/cycles/blender/blender_device.cpp b/intern/cycles/blender/blender_device.cpp index c3c307318a8..d0f8465a98f 100644 --- a/intern/cycles/blender/blender_device.cpp +++ b/intern/cycles/blender/blender_device.cpp @@ -115,8 +115,9 @@ DeviceInfo blender_device_info(BL::Preferences &b_preferences, BL::Scene &b_scen } /* Ensure there is an OptiX device when using the OptiX denoiser. */ - bool use_optix_denoising = DENOISER_OPTIX == - get_enum(cscene, "preview_denoising", DENOISER_NUM, DENOISER_NONE); + bool use_optix_denoising = get_enum(cscene, "preview_denoising", DENOISER_NUM, DENOISER_NONE) == + DENOISER_OPTIX && + !background; BL::Scene::view_layers_iterator b_view_layer; for (b_scene.view_layers.begin(b_view_layer); b_view_layer != b_scene.view_layers.end(); ++b_view_layer) { -- cgit v1.2.3