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.
This commit is contained in:
Patrick Mours 2020-02-24 17:53:41 +01:00
parent 14856e149f
commit f7b6b7dda3
1 changed files with 3 additions and 2 deletions

View File

@ -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) {